【发布时间】:2018-02-22 22:25:10
【问题描述】:
我有一个 char 数组,格式如下:
[17 个字符,一个制表符,17 个字符,一个制表符,17 个字符,一个制表符,一个代表 1 到 4 位长的数字的字符,空字节]
我想将制表符字符和空字节之间的字符存储在一个新变量中。
示例 1:这可能是我的 char 数组:
[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:这可能是我的 char 数组:
[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 的变量中。
如果我知道该数字的位数,我可以轻松做到这一点,但不知道如何解决数字长度未知的问题。
非常感谢任何帮助。
【问题讨论】:
-
查找
memcpy()。 -
谢谢,但是从阅读 memcpy() 的文档来看,您似乎无法选择 0 以外的起始索引(即您只能获取字符串的前 n 个字符),而是比索引 a 和索引 b 之间的 n 个字符。
-
当然可以,通过指针算法。只需将
a添加到指针值即可。
标签: c arrays string substring c99