怎样用C语言输出一文件的内容

#include<stdio.h>
void main()
{
FILE *f;
f=fopen("F:\ai222.CPP","r");
if(fgetc(f)!=EOF)
printf("dd");
else
printf("%c",fgetc(f));
fclose(f);
}

我是用VC6.0的,编译通过了,但是运行不了。
ai222.CPP文件的内容是kkkkkkkkkkk#

无法直接输出文件内容,需要先将文件读入到内存,再输出到标准输出上。

可以采用逐个字符读入,每读入一个输出一个的方式。
区分文件类型,操作有所不同。

1 文件本身为文本文件,那么逐个直接输出即可。
FILE *fp = fopen("name.txt", "r");
int c;
while((c=fgetc(fp))!=EOF) putchar(c);

2 文件为二进制文件,直接输出结果会是乱码。这时需要输出二进制值,并自行换行,使得输出美观。
FILE *fp = fopen("name.bin", "rb");
int c;
int i = 0;
while((c=fgetc(fp))!=EOF)
{
printf("0x%02X,", c);//16进制方式输出字符。

i++;

if(i%8==0) printf("\n"); //每输出8个字符换行一次。

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-21
f=fopen("F:\ai222.CPP","r");
改成
f=fopen("F:\\ai222.CPP","r");
呢?

if(fgetc(f)!=EOF)
printf("dd");
else
printf("%c",fgetc(f));

改成

while(fgetc(f)!=EOF)
printf("%c",fgetc(f));

总之改成这样:
#include<stdio.h>
void main()
{
FILE *f;
char temp;
f=fopen("C:\\ai222.CPP","r");
while((temp = fgetc(f)) != EOF)
printf("%c",temp);
fclose(f);
}本回答被提问者采纳
第2个回答  2008-02-21
f=fopen("F:\ai222.CPP","r");
应改为:f=fopen("F:\\ai222.CPP","r");
第3个回答  2008-02-21
#include <stdio.h>
#include <stdlib.h>

void main()
{
FILE *f;
int a;
f=fopen("F:\\ai222.CPP","r");
while ( ( a = fgetc(f) ) !=EOF )
{
printf("%c",a);
}
fclose(f);
}
第4个回答  2008-02-21
printf("dd");
这句有问题吧?
建议使用C++的流操作,使用fstream,感觉好用很多哦

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网