在C中的一个命令中将字符串的一部分转换为int

奈尔

我有一个长字符串,我知道整数的开始和结束位置。我想提取整数并将其存储在变量中。这就是我现在可以做到的。

//MY_STRING, INT_START, INT_END are the string, start 
//position of the int and end position respectively.
char * temp;
strncpy(temp, MY_STRING+INT_START, INT_END-INT_START);
int n = atoi(temp);

问题是我可以在一行中执行此操作,而不是使用临时字符串吗?

chux-恢复莫妮卡

我可以在一行中执行此操作,而不使用临时字符串吗?

使用sscanf()一个快速肮脏NO- temp

int n;
//                                  v--- scan width limit
//                                  |    v---------------v
if (sscanf(MY_STRING + INT_START, "%*d", INT_END-INT_START, &n) == 1) {
  puts("Success");
}

更好的代码会考虑溢出问题。


OP的代码不好,因为temp不确定是否指向字符串它可能缺少空字符

strncpy(temp, MY_STRING+INT_START, INT_END-INT_START);
int n = atoi(temp); // bad

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在turbo c ++中将字符串的一部分转换为整数

字符串的一部分转换为 int (C)

如何在C#中将字符串的一部分转换为小写

将字符串的一部分转换为另一个字符集

将字符串的一部分添加为单词旁边的单词,并将该行的最后一个单词转换为小写

将字符串的一部分转换为数组

将字符串值的一部分转换为数字并连接

将文本字符串的一部分转换为分数

如何将字符串的一部分转换为整数?

将字符串的一部分转换为java.util.Date

将字符串的一部分转换为数据帧的不同列

将字符串的一部分转换为哈希值

如何将字符串的一部分转换为斜体?

用C中的另一个子字符串替换字符串的一部分

C在字符串中获取一部分字符串

删除最后一个“”之后的字符串的最后一部分。在R中

取一个char数组的一部分并将其放入字符串中

如何编写一个删除一部分字符串的C函数?

验证数据帧字符串的哪一部分不能转换为字符串

DataFrame>将字符串的一部分替换为空白,一个包含字母和符号的字符串

如何在不创建临时字符串的情况下将字符串的一部分转换为int / float / vector3等?

如何使用python中的正则表达式将子字符串替换为另一个包含该子字符串的字符串作为其中的一部分

查看列表中的字符串是否是另一个列表中的字符串的一部分。蟒蛇

如何检查集合中的字符串是否是python 2.7中另一个字符串的一部分?

在数据框中的另一个字符串中搜索字符串的一部分

将tibble中的字符串替换为该字符串的一部分

在C#中替换字符串的一部分?

从C#中的字符串获取域的第一部分?

在多维数组C#的一部分中搜索字符串