【发布时间】:2015-05-23 23:07:29
【问题描述】:
我在尝试将“str”拆分为 2 个 int var 和 1 个 char var 时遇到问题。这是一个代码:
FILE *fp;
int i,j;
char str[8];
char valor;
if(!(fp = fopen("miniflota_g.dat","rb"))){
printf("Error opening file.");
getch();
return;
}
while(fread(str,sizeof(str),1,fp) == 1){
sscanf(str,"%d %d %c",i,j,valor);
printf("%d %d %c",i,j,valor);
}
fclose(fp);
这是一个错误:
感谢您的帮助。
【问题讨论】:
-
1.什么不起作用? 2. 为什么要以二进制方式打开文件?
-
1. sscanf 不起作用。当我尝试拆分 str 时触发错误。类似的东西进入无限循环2。因为我需要以二进制模式读取文件。
-
什么错误被“解雇”了?
-
您也可能希望对字符串进行零终止以使 sscanf 工作。
-
你能显示一个 *.dat 文件吗?