要用C语言读取某个文本文档,并将其显示在命令框中。。代码要怎么写。。。文本文档是无规律的字符串。。在线等
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-11-20
如果要求就这么简单的输出的话。不知道如下结果如何,希望对你有帮助
#include <stdio.h>
void main()
{
FILE *fp;
fp = fopen("xiongshuai.txt","r");//此处第一个参数,可以修给成你需要的文本文档绝对路径
//并且需要用双反斜杠如 C:\\document and settings\\xiongshuai.txt
char ch;
while((ch = fgetc(fp)) != EOF)
{
putchar(ch);
}
}追问
#include <stdio.h>
void main()
{
FILE *fp;
fp = fopen("xiongshuai.txt","r");//此处第一个参数,可以修给成你需要的文本文档绝对路径
//并且需要用双反斜杠如 C:\\document and settings\\xiongshuai.txt
char ch;
while((ch = fgetc(fp)) != EOF)
{
putchar(ch);
}
}追问
那么如何把读取的文件中的文本保存为数字呢
追答如果是数字的话,那需要针对性的处理。
一般都是标准格式化的输出到结构体变量当中,保存数字数据
或者,对字符串进行转换成不同相应进制数atoi()库函数
第2个回答 2011-11-20
void main()
{
FILE *fp;
if((fp=fopen("d://a.txt","r"))==NULL)
{
cout<<"文件不存在"<<endl;
exit(0);
}
char c;
c=fgetc(fp);
while(c!=EOF)
{
printf("%c",c);
c=fgetc(fp);
}
fclose(fp);
}
{
FILE *fp;
if((fp=fopen("d://a.txt","r"))==NULL)
{
cout<<"文件不存在"<<endl;
exit(0);
}
char c;
c=fgetc(fp);
while(c!=EOF)
{
printf("%c",c);
c=fgetc(fp);
}
fclose(fp);
}
第3个回答 2011-11-20
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char c;
FILE *fp;
fp=fopen("a.txt","r");
if(fp==NULL){
printf("Errors!!\n");
exit(1);
}
while((c=fgetc(fp))!=EOF){
putchar(c);
}
fclose(fp);
printf("\n");
system("PAUSE");
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[])
{
char c;
FILE *fp;
fp=fopen("a.txt","r");
if(fp==NULL){
printf("Errors!!\n");
exit(1);
}
while((c=fgetc(fp))!=EOF){
putchar(c);
}
fclose(fp);
printf("\n");
system("PAUSE");
return 0;
}