c语言如何读取文件并输出

作者&投稿:产宇 (若有异议请与网页底部的电邮联系)
java程序员培训班_不限基础,挑战it高薪~ 1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#include<stdio.h>
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;
}

//每个单词之间必须用换行符隔开
#include
<stdio.h>
#include
<malloc.h>
#include
<string.h>
#define
BUF_MAX
1024
int
main()
{
char
findStr[100];
char
*pStr=(char*)malloc(BUF_MAX);
FILE*pFile;
if((pFile=fopen("C:\\Users\\hp\\Desktop\\words.txt","rt"))==NULL)
{
fprintf(stderr,"打开文件错误");
return
1;
}
puts("请输入你要查找的单词:");
scanf("%s",findStr);
bool
bFind=false;
while(fgets(pStr,BUF_MAX-1,pFile)!=NULL)
{
if(strstr(pStr,findStr)!=NULL)
{
bFind=true;
printf("%s",pStr);
}
}
if(!bFind)
puts("没有找到");
fclose(pFile);
return
0;
}

一个文件流指针对应一个打开的文件,因为你要同时操作两个文件,所以要用两个文件流指针
,就像你要同时操作两个箱子一样.
这个程序可以这样理解:
有两个箱子,fp1,fp2;
打开箱子fp1,fp2,一次拿出1024个东西看一下,同时将他放到第二个箱子fp2里,至到箱子的东西完全拿出来,然后关闭两个箱子.
例子都是差不多的,你看看stdlib中f还头的函数就可以了,但是在C中文件操作就是这样的:
FILL
*pf;
//声明指针,当然也可以是指针数组
FILE
pf[2]

FILE
**pf;
pf
=fopen();
fread()
or
fwrite()
...
...
//操作文件
fclose(pf)
//关闭文件

C语言编程:读取文本指定内容并输出到指定文件,如何实现?
答:include<stdio.h> main(){ FILE *fp; /*建立文件指针*/ char c[10]="abcdef" ;fp=fopen("c:\\kk.txt","w"); /*将文件指针指向C盘 的 kk.txt文件*/ fprintf(fp,"%s",c); /*将字符串内容输出到文件中*/ fclose(fp); /*关闭文件*/ } ...

如何实现(c语言)在文件中按条件查找自己想要的信息并输出..
答:功能是找出str2字符串在str1字符串中第一次出现的位置。 可以这样写:char *p=strstr(a,b);if(NULL != p){ //a中不存在b,添加相应代码}else{ //a中存在b,添加相应代码}返回值p为a中第一次出现b的位置 然后就可以获取该字符串再输出了。这个函数要包含头文件string.h ...

c语言,读取TXT文件,输出到TXT文件。
答:将fscanf(f,"%d",&e[i]);,换成fscanf(f, "%c",&buffer); e[i]=buffer-48;,并在for循环外加buffer的声明:char buffer;运行截图和代码如下:int main(int argc, char* argv[]){ int e[1024]; int i; FILE *f=fopen("探测器1.txt","r"); FILE *fp1=0;if(f!=NUL...

如何用C语言读取.txt文件中的例如英文数字等字符并以十六进制形式输出...
答:include<stdlib.h> include<string.h> void change(char *str);void main(){ FILE *p;char str[256];p = fopen("D:\\ee.txt","r");while(!feof(p)){ fgets(str,sizeof(str),p);change(str);} /*测试过%x可以输出字符的16进制数 char a = 'A';printf("%d",a);printf("%x"...

利用C语言读取含文件头的txt文本并将学生信息和成绩分别保存到数组...
答:if(!sLine) break;//文件读取到末尾或异常 if(sLine[0]=='#' && sLine[1]=='-' && sLine[2]=='-' && sLine[3]=='-'&& sLine[4]=='-'&& sLine[5]=='-'){ flag++;continue;} if(flag==2 && sLine[0]=='~' && sLine[1]=='A' && sLine[2]==' ' && sLine[3]=...

...把含有汉字和数字的数据从一个txt文件读取并输出到另一个txt文件中...
答:if((fp=fopen("new.txt","wt"))==NULL) /* 假设新旧文本文件分别是new.txt,old.txt */ { printf("cannot open file\n");return;} if((fp1=fopen("old.txt","rt"))==NULL){ printf("cannot open file\n");return;} while (fgets(str,200,fp1)) //读取一行,并判断文件是否...

c语言读取txt文件内容
答:用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。一、打开文件:FILE *fopen(const char *filename, const char *mode);因为txt文件为文本文件, 所以打开时选择的mode应为"r"或者"rt"。二、读取文件:读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。

怎样用C语言输出一文件的内容
答:可以采用逐个字符读入,每读入一个输出一个的方式。区分文件类型,操作有所不同。1 文件本身为文本文件,那么逐个直接输出即可。FILE *fp = fopen("name.txt", "r");int c;while((c=fgetc(fp))!=EOF) putchar(c);2 文件为二进制文件,直接输出结果会是乱码。这时需要输出二进制值,并自行...

C语言 如何读取一个已知txt文件的内容并输出
答:include <string.h> include <stdio.h> include <stdlib.h> void main(){ FILE *fp=NULL;int i;char a[41]={'\0'}, ch, filename[50];do { printf("\n\t请输入要查找关键字的文件:");//这里如果不是在相同目录下要输入完整的路径!scanf("%s", filename);if ((fp=fopen(file...

C语言中,如何将文本文件的内容输出到屏幕?
答:fpr = fopen(my_filename, "r" ) ; /* r:以文本方式打开文件 */ if( fpr == NULL ) /* 若文件打开失败,则输出错误信息,并直接退出程序 */ { printf("Can't open %s for read !\n", my_filename ) ;exit(1) ;} fgets(buffer, BUFFERLEN, fpr ) ; /* 从文本文件中读取...