gpt4 book ai didi

c - 从文件中读取值

转载 作者:行者123 更新时间:2023-11-30 19:26:15 26 4
gpt4 key购买 nike

我有一个看起来有点像这样的文件:

6 3
0 4 5 5 6 9
1 11 21 2 22 23

我想读入前 2 个数字并将它们存储到两个单独的整数中,分别为 n 和 m。第二行我想读入一个动态分配的大小为 2*m 的 int 数组,第三行我想读入一个动态分配的大小为 n 的 int 数组。我有另一个函数(即 void),它将接受这些数组并生成一个大小为 m 的动态分配的 int 数组。然后我想将该数组的内容写入输出文件。我该如何去做呢?

我尝试过使用fscanf(input_ptr, "%d", &n)fscanf(input_ptr, "%d\n", &m)读取前两个数字,但我不确定 %d\n 是否是转到下一行的正确方法。我不确定如何在接下来的两行中读取它们对应的两个数组。

最佳答案

您可以通过一次调用 fscanf() 读取前 2 个数字:

int n, m;
if (fscanf(input_ptr, "%d%d", &n, &m) != 2) {
/* invalid input */
return 1;
}

在格式字符串中添加尾随 \n 是没有用的,并且有副作用:fscanf() 将继续从 input_ptr 读取,直到它获取一个非空白字节,防止换行符充当输入终止符。

对于以下输入,使用 fscanf(input_ptr, "%d", &x) 分配数组并在 2 个循环中读取数字,始终检查返回值是否成功输入。

关于c - 从文件中读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57740896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com