【发布时间】:2015-11-23 05:37:19
【问题描述】:
对于整数输入,您可以这样做。
for (int i = 0; i < count; i++) {
scanf("%d,", &storage[i]);
}
有没有办法读取用逗号分隔的字符串输入?例子。字符串1,字符串2,字符串3
下面似乎不起作用还是我错过了什么?
for (int i = 0; i < count; i++) {
scanf("%s,", storage[i]);
}
我们还没有接触到使用 strtok,所以我可能会被质疑为什么要使用它。 它正在处理整数输入,所以我想知道字符串输入是否也可以自动分隔它们。 所以我想我必须逐个读取字符串输入。
【问题讨论】:
-
Using strtok in c的可能重复
-
将整行读入缓冲区,然后将字符串复制到逗号。例如fgets(...)
-
谢谢,其实我可以把它读成一个完整的字符串,然后用strtok用fgets来分隔单词,但是我们还没有接触到使用strtok。因此,如果不可能,我想我必须一一阅读。
-
@fyethfyeth 你可以只使用
scanf,只是需要注意说明符。 -
我仍然认为处理逗号分隔文件的最佳方法是使用@所需的 pointer 和 end-pointer 987654325@(等等,
strtoX系列函数)。一个简单的while (errno == 0)循环将调用包含在strtol (p, &ep, base)中,然后设置p = ep;(或(p = (ep + 1))基本上是所需要的。