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

如题所述

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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-26
//每个单词之间必须用换行符隔开
#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;
}
第2个回答  2019-12-17
一个文件流指针对应一个打开的文件,因为你要同时操作两个文件,所以要用两个文件流指针
,就像你要同时操作两个箱子一样.
这个程序可以这样理解:
有两个箱子,fp1,fp2;
打开箱子fp1,fp2,一次拿出1024个东西看一下,同时将他放到第二个箱子fp2里,至到箱子的东西完全拿出来,然后关闭两个箱子.
例子都是差不多的,你看看stdlib中f还头的函数就可以了,但是在C中文件操作就是这样的:
FILL
*pf;
//声明指针,当然也可以是指针数组
FILE
pf[2]

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

c语言如何读取文件并输出
fscanf(fp1,"%d",&a);\/\/从输入文件读取一个整数 b=fgetc(fp1);\/\/从输入文件读取一个字符 fgets(c,100,fp1);\/\/从输入文件读取一行字符串 printf("%ld",ftell(fp1));\/\/输出fp1指针当前位置相对于文件首的偏移字节数 fputs(c,fp2);\/\/向输出文件写入一行字符串 fputc(b,fp2);\/\/向输出文件写...

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

c语言的fread如何读文件和输出?
比如说: struct stru {int a;char b;int c;};这其中,a占4个字节,b也占4个字节,c也占4个字节,虽然b到c的空间中只要1个字节就可以表示char类型。 你的程序应该改为fwrite(&(pq->month),sizeof(pq->month),1,fp);...

怎样用c语言编写代码,用于读取文本内容在屏幕上输出?
feof(fp) ) {\\x0d\\x0afgets(buffer,255,fp); printf("%s\\n",buffer);\\x0d\\x0a}\\x0d\\x0afclose(fp);\\x0d\\x0a} else printf("无法打开文本文件读取。\\n");\\x0d\\x0a}

用C语言编写“读取一个给定的文本文件,并将文件的内容显示在屏幕上...
\\n"); \/\/如果fp指针指向为空,即文件为空,则输出can not open else{ \/\/读取字符:fscanf(fp,"%c",&ch),ch=fgetc(fp); fscanf(fp,"%c",&ch); \/\/读取字符 while(!feof(fp)){ \/\/feof()这个函数是用来判断指针是否已经到达文件尾部 putchar(ch); \/\/输出 fscanf...

C语言 将文件内容输出到屏幕的方法
从文件内容读入和输出可以使用fscanf、fprintf 如:fscanf(fp, "%d", &num); \/\/从文件fp读入一个整数到num变量 fprintf(fp, "%d", num); \/\/将num变量的值输出到文件fp 屏幕也可以看作一个文件流,输入是stdin,输出是stdout,如输出到屏幕,就是:fprintf(stdout, "%d", num);

C语言 如何读取一个已知txt文件的内容并输出
int main(){ FILE* file=fopen("D:\\\\a.txt","r");char a;while((a=fgetc(file))!=EOF){ printf("%c",a);} return 0;}

学习如何用 C 语言来进行文件输入输出操作 | Linux 中国
在学习使用C语言进行文件输入输出操作时,从包含文件stdio.h开始,它包含了所有标准输入输出函数。人们通常首先学习的函数包括printf和puts,用于格式化输出和打印字符串。然而,要完成更多任务,需要深入了解其他函数。实现Linux命令功能,如cp,可以借助于基本的读写文件函数。cp命令用于文件复制,其复杂性通过...

C语言中如何打开一个文件并且输出第n行。
需要输出第几行?3 "cmd $TEHU000000002311170700#"Press any key to continue include "stdio.h"main(){ int i=0,input;FILE *fp=fopen("3333.txt","r");char line[100]={0};printf("需要输出第几行?");scanf("%d",&input);while (fgets(line,sizeof(line)-1,fp)){ i++;if ...

如何用C语言读写文件
c语言读写文件程序:include "stdio.h"include <stdlib.h>main(){ FILE *fp1;\/\/定义文件流指针,用于打开读取的文件 FILE *fp2;\/\/定义文件流指针,用于打开写操作的文件 char text[1024];\/\/定义一个字符串数组,用于存储读取的字符 fp1 = fopen("d:\\\\a.txt","r");\/\/只读方式打开文件a....

相似回答
大家正在搜