【发布时间】:2016-05-07 14:01:00
【问题描述】:
我有一个文件,每行有两个未知长度,用空格分隔。这些数字可以是任何大小,最多有 500 个数字,所以我需要逐个字符地读取它并将其存储到一个整数数组中。我尝试过这样的事情:
while(fgets(line, sizeof line, fp) != NULL) { // assuming buff handles the line lenght
//read each character until ''
// store it
//read each character until '\n'
// store it
}
我尝试使用 fgetc 读取直到 ' ' 和 '\n' 但它不起作用。任何建议将不胜感激。
【问题讨论】:
-
您的代码看起来有点可疑:首先,您有一个语法错误和一个逻辑错误:它应该类似于
while(fgets(buff, sizeof(buff), fp) != NULL){ … }。其次,很难进入你必须存储你读过的内容的什么样的数组?整数数组?浮点数组?字符数组?您是否“需要对数字或其十进制表示的数字字符串执行不同的操作”?你的努力会帮助所有人,包括你自己。 -
感谢指正。目前我将对数组做的事情不太相关。我只是想指出,需要逐行读取,因为我将对每一行的数字进行不同的操作。
-
为什么不把数字读成
doubles?它们可以是“任何大小”... -
它们可以有任意位数。例如:300!这就是为什么我试图逐个字符地阅读它。