Arcane
v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
arcane/src/arcane/utils/CStringUtils.cc
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* CStringUtils.cc (C) 2000-2015 */
9
/* */
10
/* Fonctions utilitaires sur les chaînes de caractères. */
11
/*---------------------------------------------------------------------------*/
12
/*---------------------------------------------------------------------------*/
13
14
#include "arcane/utils/ArcanePrecomp.h"
15
16
#include "arcane/utils/StdHeader.h"
17
#include "arcane/utils/ValueConvert.h"
18
#include "arcane/utils/CStringUtils.h"
19
#include "arcane/utils/Iostream.h"
20
21
/*---------------------------------------------------------------------------*/
22
/*---------------------------------------------------------------------------*/
23
24
ARCANE_BEGIN_NAMESPACE
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
29
Real CStringUtils::
30
toReal(
const
char
* str,
bool
* is_ok)
31
{
32
Real v = 0.;
33
bool
is_bad = builtInGetValue(v,str);
34
if
(is_ok)
35
*is_ok = !is_bad;
36
return
v;
37
}
38
39
Integer
40
CStringUtils::
41
toInteger(
const
char
* str,
bool
* is_ok)
42
{
43
Integer v = 0;
44
bool
is_bad = builtInGetValue(v,str);
45
if
(is_ok)
46
*is_ok = !is_bad;
47
return
v;
48
}
49
50
int
51
CStringUtils::
52
toInt(
const
char
* str,
bool
* is_ok)
53
{
54
int
v = 0;
55
bool
is_bad = builtInGetValue(v,str);
56
if
(is_ok)
57
*is_ok = !is_bad;
58
return
v;
59
}
60
61
//! Retourne \e true si \a s1 et \a s2 sont identiques, \e false sinon
62
bool
CStringUtils::
63
isEqual(
const
char
* s1,
const
char
* s2)
64
{
65
if
(!s1 && !s2)
66
return
true
;
67
if
(!s1 || !s2)
68
return
false
;
69
while
(*s1==*s2){
70
if
(*s1==
'\0'
)
71
return
true
;
72
++s1; ++s2;
73
}
74
return
false
;
75
}
76
77
//! Retourne \e true si \a s1 est inférieur (ordre alphabétique) à \a s2 , \e false sinon
78
bool
CStringUtils::
79
isLess(
const
char
* s1,
const
char
* s2)
80
{
81
if
(!s1 && !s2)
82
return
false
;
83
if
(!s1 || !s2)
84
return
false
;
85
return
(::strcmp(s1,s2) < 0);
86
}
87
88
//! Retourne la longueur de la chaîne \a s
89
Integer CStringUtils::
90
len(
const
char
* s)
91
{
92
if
(!s)
return
0;
93
//return (Integer)::strlen(s);
94
Integer
len
= 0;
95
while
(s[
len
]!=
'\0'
)
96
++
len
;
97
return
len
;
98
}
99
100
char
* CStringUtils::
101
copyn(
char
* to,
const
char
* from,Integer n)
102
{
103
return ::strncpy(to,from,n);
104
}
105
106
char
* CStringUtils::
107
copy(
char
* to,
const
char
* from)
108
{
109
return ::strcpy(to,from);
110
}
111
112
/*---------------------------------------------------------------------------*/
113
/*---------------------------------------------------------------------------*/
114
115
extern
"C++"
ARCANE_UTILS_EXPORT
void
116
initializeStringConverter()
117
{
118
}
119
120
/*---------------------------------------------------------------------------*/
121
/*---------------------------------------------------------------------------*/
122
123
ARCANE_END_NAMESPACE
124
125
/*---------------------------------------------------------------------------*/
126
/*---------------------------------------------------------------------------*/
Arcane::CStringUtils::len
Integer len(const char *s)
Retourne la longueur de la chaîne s.
Definition
arcane/src/arcane/utils/CStringUtils.cc:90
arcane
utils
CStringUtils.cc
Généré le Lundi 18 Novembre 2024 02:56:53 pour Arcane par
1.9.8