我正在尝试计算C中的字符串值。
我将字符串定义为:char cadena[100] = "Esto es un text securizado$2516"
我需要将2516转换为int,我实际上是在尝试使用atoi()
,但是我不知道如何分隔字符串以使用该函数。
PS:打扰一下,英语不是我的母语,希望您能理解我的意思。
最佳答案
一种简单的方法可以如下所示
int number = 0;
char cadena[100] = "Esto es un text securizado$2516";
size_t n = strcspn( cadena, "0123456789" );
if ( cadena[n] ) number = atoi( cadena + n );
或者,如果数字已经由0初始化,那么您可以编写
number = atoi( cadena + n );
在这种情况下,零将是默认值。