我正在尝试计算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 );


在这种情况下,零将是默认值。

10-04 19:48