take one's hat off:帮我找错----C语言

来源:百度文库 编辑:高校问答 时间:2024/04/29 18:50:07
我忘记怎么读文件了,下面的怎么错了:

FILE *P;
p=fopen("aaa.txt","rb");
sprintf(p,"%s","asdf");

最后一句sprintf的第一个参数为文件指针有何错误?我调不过去!

FILE *p;
p=fopen("aaa.txt","wt");
fprintf(p,"%s","asdawef");
fclose(p);

“rt” 只读打开一个文本文件,只允许读数据
“wt” 只写打开或建立一个文本文件,只允许写数据
“at” 追加打开一个文本文件,并在文件末尾写数据
“rb” 只读打开一个二进制文件,只允许读数据
“wb” 只写打开或建立一个二进制文件,只允许写数据
“ab” 追加打开一个二进制文件,并在文件末尾写数据
“rt+” 读写打开一个文本文件,允许读和写
“wt+” 读写打开或建立一个文本文件,允许读写
“at+” 读写打开一个文本文件,允许读,或在文件末追加数 据
“rb+” 读写打开一个二进制文件,允许读和写
“wb+” 读写打开或建立一个二进制文件,允许读和写
“ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据

1.打开文件用于输出应该是:
p=open("aaa.txt","w");
2.向文件中格式化输出应该是:
fprintf(p,"%s","asdf");

应该检查你的文件指针,看看是不是打开成功。
其次,你打开的方式不对,“rb”是只读,不能写。
FILE *P;
p=fopen("aaa.txt","rb+");
if(p!=null)
sprintf(p,"%s","asdf");

这样的程序我编过了
不过现在忘了