展开全部
读文件是这样的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","r");
while(fread(&buf,1,1,fp))
printf("%c
",buf);
fclose(fp);
}
写文件是这样的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","w");
while((buf=getchar())!='q')
fwrite(&buf,1,1,fp);
fclose(fp);
}
PS:这里buf缓冲区只开了一个字节,做个例子,你可根据需要变化.
你的问题可能原因是:输出内容超过了你的缓冲区.
比如:你读出10个字节,甚至可能没读出,而你打印100个字节,后面的就很有可能是"烫".应该不是2进制的问题.
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","r");
while(fread(&buf,1,1,fp))
printf("%c
",buf);
fclose(fp);
}
写文件是这样的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","w");
while((buf=getchar())!='q')
fwrite(&buf,1,1,fp);
fclose(fp);
}
PS:这里buf缓冲区只开了一个字节,做个例子,你可根据需要变化.
你的问题可能原因是:输出内容超过了你的缓冲区.
比如:你读出10个字节,甚至可能没读出,而你打印100个字节,后面的就很有可能是"烫".应该不是2进制的问题.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include
#include
int
main(void)
{
file
*
f
=
0;
int
fn
=
0,
sz
=
0;
f
=
fopen("c:\\abc.txt",
"rb");
if(!f)
{
fprintf(stderr,
"file
not
found.\n");
return
0;
}/*end
if*/
fn
=
_fileno(f);
/*取得文件指针的底层流式文件号*/
sz
=
_filelength(fn);/*根据文件号取得文件大小*/
printf("文件abc.txt大小为:%d字节.\n",
sz);
fclose(f);
return
0;
}/*end
main*/
备注:上述程序适用于任何一种文件,都可以直接求出大小。
#include
int
main(void)
{
file
*
f
=
0;
int
fn
=
0,
sz
=
0;
f
=
fopen("c:\\abc.txt",
"rb");
if(!f)
{
fprintf(stderr,
"file
not
found.\n");
return
0;
}/*end
if*/
fn
=
_fileno(f);
/*取得文件指针的底层流式文件号*/
sz
=
_filelength(fn);/*根据文件号取得文件大小*/
printf("文件abc.txt大小为:%d字节.\n",
sz);
fclose(f);
return
0;
}/*end
main*/
备注:上述程序适用于任何一种文件,都可以直接求出大小。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用输入输出流可以自动创建。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询