使用 freopen 读取文件
Using freopen to read file
我有一个作业要实现二进制搜索和线性搜索。 "hard" 部分已完成,这两种方法都已实现并起作用。
我的教授希望我们测试包含大量整数的数组。他给了我们一个 .in 文件,其中输入了他想要的样式,我正在尝试使用 freopen 来读取该文件。
int main(int argc, const char * argv[]) {
freopen("input.in", "r", stdin); // <-----
int n , s;
scanf("%d %d", &n, &s);
int myAr[n];
int i = 0;
while (i < n) {
scanf("%d",&myAr[i]);
i++;
}
int myAr2[s];
int j = 0;
while (j < s) {
scanf("%d",&myAr2[j]);
j++;
}
...
文件以一行中的 2 个数字开始,列表中的元素数以及您要在第一个列表中查找的元素数。
然后它读取包含列表 1 中所有数字的一行,然后下一行读取列表 2 中的所有数字
我无法让 freopen() 正常工作,我想知道是否有任何建议。
示例input.in 文件:
10 2
2 4 6 7 9 10 24 26 29 33
26 35
我的代码稍后会告诉我找到了 26 而没有找到 35。我的主要问题是在 main 中读取输入文件,而不是在终端中手动输入。请帮忙
我通过简单地使用 fscanf()
.
读取了 input.in 文件中的所有整数
这是我的代码。
int j;
FILE *fp;
fp = fopen("input.in", "r");
while( fscanf(fp,"%d",&j) > 0 )
{
printf("%d\n", j);
}
fclose(fp);
输出是。
我有一个作业要实现二进制搜索和线性搜索。 "hard" 部分已完成,这两种方法都已实现并起作用。 我的教授希望我们测试包含大量整数的数组。他给了我们一个 .in 文件,其中输入了他想要的样式,我正在尝试使用 freopen 来读取该文件。
int main(int argc, const char * argv[]) {
freopen("input.in", "r", stdin); // <-----
int n , s;
scanf("%d %d", &n, &s);
int myAr[n];
int i = 0;
while (i < n) {
scanf("%d",&myAr[i]);
i++;
}
int myAr2[s];
int j = 0;
while (j < s) {
scanf("%d",&myAr2[j]);
j++;
}
...
文件以一行中的 2 个数字开始,列表中的元素数以及您要在第一个列表中查找的元素数。
然后它读取包含列表 1 中所有数字的一行,然后下一行读取列表 2 中的所有数字
我无法让 freopen() 正常工作,我想知道是否有任何建议。
示例input.in 文件:
10 2
2 4 6 7 9 10 24 26 29 33
26 35
我的代码稍后会告诉我找到了 26 而没有找到 35。我的主要问题是在 main 中读取输入文件,而不是在终端中手动输入。请帮忙
我通过简单地使用 fscanf()
.
这是我的代码。
int j;
FILE *fp;
fp = fopen("input.in", "r");
while( fscanf(fp,"%d",&j) > 0 )
{
printf("%d\n", j);
}
fclose(fp);
输出是。