如何从 C 中的字符数组中获取 "substring"
How to get "substring" from a char array in C
我有一个 char 数组,其形式为:
[17 个字符,一个制表符,17 个字符,一个制表符,17 个字符,一个制表符,一个表示长度介于 1 到 4 位之间的数字的字符,空字节]
我想将位于制表符字符和空字节之间的字符存储在一个新变量中。
示例 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,6,7,8,9,0, 1,2,3,4,5,6,7,\t,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,7,8,9,0, 1,2,3,4,5,6,7,\t,5,9,9,\0]
我想将 int 599 保存在一个名为 x 的变量中。
如果我知道该数字的位数,我可以很容易地做到这一点,但我不确定如何解决数字长度未知的问题。
非常感谢任何帮助。
假设您的字符串(又名 char
数组)由 str
指向,因为您似乎需要 int
中的那个数字,那么您可以使用 atoi(str + 3 * (17 + 1))
得到你想要的。
如果你想在另一个字符串中使用它,那么你可以使用 strcpy(str2, str + 3 * (17 + 1))
假设你的缓冲区是由 str2
指向的。
顺便说一句,您需要为 atoi()
添加 stdlib.h
,为 strcpy()
添加 string.h
。
我有一个 char 数组,其形式为:
[17 个字符,一个制表符,17 个字符,一个制表符,17 个字符,一个制表符,一个表示长度介于 1 到 4 位之间的数字的字符,空字节]
我想将位于制表符字符和空字节之间的字符存储在一个新变量中。
示例 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,6,7,8,9,0, 1,2,3,4,5,6,7,\t,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,7,8,9,0, 1,2,3,4,5,6,7,\t,5,9,9,\0]
我想将 int 599 保存在一个名为 x 的变量中。
如果我知道该数字的位数,我可以很容易地做到这一点,但我不确定如何解决数字长度未知的问题。
非常感谢任何帮助。
假设您的字符串(又名 char
数组)由 str
指向,因为您似乎需要 int
中的那个数字,那么您可以使用 atoi(str + 3 * (17 + 1))
得到你想要的。
如果你想在另一个字符串中使用它,那么你可以使用 strcpy(str2, str + 3 * (17 + 1))
假设你的缓冲区是由 str2
指向的。
顺便说一句,您需要为 atoi()
添加 stdlib.h
,为 strcpy()
添加 string.h
。