如何拆分从 C 语言文件中读取的行并将不同列的值分配给不同的变量?
我有一个 .txt 文件,其中每行包含 4 个由制表符分隔的整数值。 我必须将第一个值存储在某个变量中,例如 另一个变量中的第二个值,例如 b 另一个变量中的第三个值,例如 c。
然后将 a、b 和 c 作为参数传递给函数。
然后从文件中读取下一行并执行与上面相同的操作,直到文件末尾。 我正在尝试使用 getline。
输入文件具有此类数据:
1 2 3 4
7 4 3 2
3 2 5 4
2 98 876 989
在一次迭代中
我想要
a=1
b=2
c=3
int r=func(a,b,c)
//some code based on the value of r, such as writing this to a file.
现在阅读下一行 a=7 b=4 c=3
再次调用函数。 Q1.如何分割数据?
第二季度。如何分配给不同的变量?
但无法拿出令人满意的解决方案。你能帮我吗?
谢谢:)
最佳答案
将数据直接从您可以使用的文件中添加到变量中,
fscanf(file,"%d %d %d",a,b,c);
您的输入文件有 4 个数字,因此您需要忽略它才能使用,
while(fscanf(file,"%d %d %d %d\n",a,b,c,d)==4)
{
r=func(a,b,c);
//some code using value of r
}
您可以使用与此类似的代码
关于c - 在 C 中使用 while 和 getline 分割输入文件的数据并将不同的列分配给不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22297699/