如何获得;“子字符串”;从C中的字符数组

如何获得;“子字符串”;从C中的字符数组,c,arrays,string,substring,c99,C,Arrays,String,Substring,C99,我有一个字符数组,其形式如下: [17个字符,一个制表符,17个字符,一个制表符,17个字符,一个制表符,一个表示1到4位数长度的数字的字符,空字节] 我想将位于tab字符和null字节之间的字符存储在一个新变量中 示例1:这可能是我的字符数组: [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,t,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,t,1,2,3,4,5,5,6,6,7,7,8,9,0,1,2,3,4,5,6,7,3,4,0] 我想把int

我有一个字符数组,其形式如下:

[17个字符,一个制表符,17个字符,一个制表符,17个字符,一个制表符,一个表示1到4位数长度的数字的字符,空字节]

我想将位于tab字符和null字节之间的字符存储在一个新变量中

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

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

我想把int 34保存在一个叫做x的变量中

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

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

我想把int 599保存在一个叫做x的变量中

如果我知道这个数字的位数,我可以很容易地做到这一点,但我不知道如何解决长度未知的数字的问题

任何帮助都将不胜感激。

假设您的字符串(也称为
char
数组)由
str
指向,因为您似乎需要
int
中的数字,那么您可以使用
atoi(str+3*(17+1))
来获得您想要的

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


顺便说一句,对于
atoi()
您需要包含
stdlib.h
,对于
strcpy()
您需要包含
stdlib.h
string.h
查找
memcpy(),而不是索引a和索引b之间的n个字符。当然可以,通过指针算法。只需在指针值中添加
a