如何从C中的char数组中获取“substring”

时间:2017-09-14 04:31:23

标签: c arrays string substring c99

我有一个char数组,格式为:

[17个字符,一个标签字符,17个字符,一个标签字符,17个字符,一个标签字符,一个表示长度在1到4位之间的数字的字符,空字节]

我想在新变量中存储位于tab char和null-byte之间的字符。

示例1:这可能是我的char数组:

[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,\吨,1,2,3,4,5 ,6,7,8,9,0,1,2,3,4,5,6,7,\吨,1,2,3,4,5,6,7,8,9,0,1, 2,3,4,5,6,7,\吨,3,4-,\ 0]

我想将int 34保存在一个名为x的变量中。

示例2:这可能是我的char数组:

[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,\吨,1,2,3,4,5 ,6,7,8,9,0,1,2,3,4,5,6,7,\吨,1,2,3,4,5,6,7,8,9,0,1, 2,3,4,5,6,7,\吨,5,9,9,\ 0]

我想将int 599保存在一个名为x的变量中。

如果我知道该数字的位数,我可以轻松地做到这一点,但我不知道如何解决具有多个未知长度的问题。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

让我们说char指向您的字符串(又名str数组),因为您似乎需要int中的那个数字,那么您可以使用{{ 1}}得到你想要的东西。

如果你想在另一个字符串中使用,那么你可以使用atoi(str + 3 * (17 + 1)),假设strcpy(str2, str + 3 * (17 + 1))指向你的缓冲区。

顺便说一句,您需要为str2添加stdlib.h,为atoi()添加string.h