c - C语言中如何计算字符串的数值

标签 c string char

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

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

关于c - C语言中如何计算字符串的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813776/

相关文章:

c++ - 如何定义线程局部静态变量?

Javascript 匹配所有返回用双引号括起来的所有短语的数组的正则表达式

python - 查找与 3 个连续元音正则表达式匹配的单词

c# - C#中字符串的内部表示

c++ - wchar_t 和 char16_t 在 Windows 上是一样的吗?

c - 使用 snprintf 进行字符串连接

c - 如何从十进制数中一次解析一位数字?

c - 如何使用 ptrace() 观察进程直到它退出?

c++ - 为什么构造函数在对象调用时使用不同的运算符 - String& vs Char*?

c - 在 C 中定义二维 char 数组