【发布时间】:2019-05-17 02:28:02
【问题描述】:
我需要使用以以下格式接收的 C 从标准输入读取和存储整数:“35:27,5,10” 每行有未定义的整数数和未定义的行数。理想情况下,我希望有一个循环,在其中我可以使用最近扫描行的值来执行其他任务。我将如何扫描整数并将其存储在数组中,然后在扫描下一行时覆盖数组,依此类推,直到遇到 EOF?
我认为我必须使用 scanf() 和 strtok() 的组合,但我似乎无法弄清楚如何使用。我也尝试过使用 getchar() 但这只会让事情变得更复杂。
【问题讨论】:
-
只用 scanf 但注意每个整数后面的内容,如果是 '\n' 则表示行尾,
-
所以,你真的不关心未定义的行数,因为你会分别处理每一行。您只需要知道每行有多少整数可用以及它们是什么。据推测,32 位(有符号)
int值足以容纳单行上的整数数量 - 或者您是否需要满足单行上数 GB 的数据?值是否也在int(32 位有符号整数)范围内?有负值吗?除了冒号、逗号和换行符之外,您还有其他分隔符吗?你还没有展示你尝试过的东西。