使用 fscanf 读取整数时遇到问题
Trouble reading an integer with fscanf
我已经苦苦挣扎了一天多,试图弄清楚这段代码有什么问题,printf 总是在我的屏幕上打印 0。
#include <stdio.h>
#include <ctype.h>
int main()
{
int one=0,two=0;
FILE *arq;
arq = fopen ("testando.txt","w+");
fprintf(arq,"1,2,3\n");
fscanf(arq,"%d%d",&one,&two);
printf("%d %d\n",one,two);
return 0;
}
- 在
fscanf(arq,"%d%d",&one,&two);
中添加逗号
- 使用
r
标志重新打开文件 - 读取它
- 别忘了关闭文件 ;)
- 选择。您可以使用 return fscanf 的值来检查填充了多少属性
这很好用:
#include <stdio.h>
#include <ctype.h>
int main()
{
int one=0,two=0;
FILE *arq;
arq = fopen ("testando.txt","w+");
fprintf(arq,"1,2,3\n");
fclose(arq);
arq = fopen("testando.txt","r");
int r = fscanf(arq,"%d,%d",&one,&two);
fclose(arq);
printf("%d %d %d\n",r, one,two);
return 0;
}
输出:
2 1 2
我已经苦苦挣扎了一天多,试图弄清楚这段代码有什么问题,printf 总是在我的屏幕上打印 0。
#include <stdio.h>
#include <ctype.h>
int main()
{
int one=0,two=0;
FILE *arq;
arq = fopen ("testando.txt","w+");
fprintf(arq,"1,2,3\n");
fscanf(arq,"%d%d",&one,&two);
printf("%d %d\n",one,two);
return 0;
}
- 在
fscanf(arq,"%d%d",&one,&two);
中添加逗号
- 使用
r
标志重新打开文件 - 读取它 - 别忘了关闭文件 ;)
- 选择。您可以使用 return fscanf 的值来检查填充了多少属性
这很好用:
#include <stdio.h>
#include <ctype.h>
int main()
{
int one=0,two=0;
FILE *arq;
arq = fopen ("testando.txt","w+");
fprintf(arq,"1,2,3\n");
fclose(arq);
arq = fopen("testando.txt","r");
int r = fscanf(arq,"%d,%d",&one,&two);
fclose(arq);
printf("%d %d %d\n",r, one,two);
return 0;
}
输出:
2 1 2