功 能: 从一个流中执行格式化输入\x0d\x0a 用 法: int fscanf(FILE *stream, char *format,[argument...]);\x0d\x0a int fscanf(文件指针,格式字符串,输入列表);\x0d\x0a 返回值:整型,数值等于[argument...]的个数\x0d\x0a 程序例:\x0d\x0a #include \x0d\x0a #include \x0d\x0a int main(void)\x0d\x0a {\x0d\x0a int i;\x0d\x0a printf("Input an integer: ");\x0d\x0a if (fscanf(stdin, "%d", i))\x0d\x0a printf("The integer read was: %d\n",\x0d\x0a i);\x0d\x0a else\x0d\x0a {\x0d\x0a fprintf(stderr, "Error reading an \\x0d\x0a integer from stdin.\n");\x0d\x0a exit(1);\x0d\x0a }\x0d\x0a return 0;\x0d\x0a }\x0d\x0a 返回EOF如果读取到文件结尾。
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了集宁免费建站欢迎大家使用!
没打看懂你说的什么意思, 只是感觉你写的有个地方有问题,你在往文件中写的时候fprintf(f1,"%d\n",temp);是每个字后面都一个回车, 而在读的时候又按照fscanf(f1,"%d",temp); 这种没有回车的形式读的 ,当然会出问题了, 我帮着改了一下, 你看下行不...
#include stdio.h
#include stdlib.h
void main()
{
int i;
char temp;
FILE *f1; // source file (bmp)
if((f1=fopen("write.hex","w"))==NULL)
{
printf("f1 error\n");
exit(0);
}
for (i=0;i8;i++)
{
temp = i;
fprintf(f1,"%d",temp);
}
fclose(f1);
if((f1=fopen("write.hex","r"))==NULL)
{
printf("f1 error\n");
exit(0);
}
for (i=0;i100;i++)
fscanf(f1,"%d",temp);
fclose(f1);
}
if(fscanf(fp1,"%s : %s equal: %lf",person[index].num,person[index].first, person[index].equal)==EOF)
{
printf("END FILE.");
exit(0);
}
}
for(i=0;i1;i++)
{
//person[i].first[0]=toupper(person[i].first[0]);
//person[i].last[0]=toupper(person[i].last[0]);
printf("The num and name:\n%s:%s equal:%lf.\n",person[i].num,person[i].first, person[i].equal);
data.txt里的数据我是这样的。
414314 : FanXiang equal:2.0
问你个问题"data.txt" 这个文件的路径是在哪?
fprintf(fp,"%s,%c,%d,%f",str,a,
c,
b);
这个输出格式表明
你的文件1.txt
里的数据
是用
逗号
分
隔。
if((fp
=
fopen("1.txt","r"))==NULL)
你要打开
读
这个
用
逗号为
分隔符
的文件。
fscanf(fp,"%s,%c,%d,%f",
str,
a,
c,
b);
漏写
str,
给你补上,但
这仍不能解决
%s,
的逗号分隔问题。
必须
用下面格式读取逗号分隔的数据:
fscanf(fp,"%[^,],%c,%d,%f",
str,
a,
c,
b);
======================================
假如文件里的数据
用
空白
分隔,不用
逗号,日子就好过得多:
fprintf(fp,"%s
%c
%d
%f",str,a,
c,
b);
fscanf(fp,"%s
%c
%d
%f",
str,
a,
c,
b);