当前位置:首页 » 编程语言 » c语言文件标题怎么读
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言文件标题怎么读

发布时间: 2023-07-09 08:42:37

c语言文件读写方式:两种读写方式r和r+到底有什么区别啊

#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *fd;
char buf[1024];
char e[10];
int i,j=3;
if ((fd = fopen("file1.dat","ab+")) == NULL) //r是打开一个用于读取的文本文件.rb+是打开一个文件,并在末尾追加数据
{
printf("ERROR\n");
return 0;
}
else
{
fread(buf,1024,1,fd); //读取源文件的内容,我写的file1.dat的文件内容为三个字符
buf[j] = '\0';
printf("原文件内容为%s\n",buf);
printf("请输入你要添加的数据\n");
gets(e); //你要加在源文件后面的内容,键盘输入
fwrite(e,strlen(e),1,fd); //把你输入的字符串加在文件后面
j+=strlen(e); //文件内容增加
fseek(fd,0,0); //把文件的标号偏移到开头
fread(buf,1024,1,fd); //读取写入后的文件内容
buf[j] = '\0';
printf("写入后的文件为%s\n",buf);
}
}

r是打开只读文件.
这是我改的,可以读写

② c语言 怎么读文件中的汉字

字符读写函数fgetc和fputc
字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。

1) 读字符函数fgetc
fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
字符变量=fgetc(文件指针);
例如:
ch=fgetc(fp);
其意义是从打开的文件fp中读取一个字符并送入ch中。

对于fgetc函数的使用有以下几点说明:
在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。
读取字符的结果也可以不向字符变量赋值。例如:fgetc(fp); 但是读出的字符不能保存。
在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。

【例13-1】读入文件c1.doc,在屏幕上输出。#include<stdio.h>main(){ FILE *fp; char ch; if((fp=fopen("d:\\jrzh\\example\\c1.txt","rt"))==NULL){ printf("\nCannot open file strike any key exit!"); getch(); exit(1); } ch=fgetc(fp); while(ch!=EOF){ putchar(ch); ch=fgetc(fp); } fclose(fp);}
本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“d:\\jrzh\\example\\ex1_1.c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第10行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志EOF)就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向EOF。执行本程序将显示整个文件。

2) 写字符函数fputc
fputc函数的功能是把一个字符写入指定的文件中。函数调用的形式为:
fputc( 字符量, 文件指针 );
其中,待写入的字符量可以是字符常量或变量,例如:
fputc('a',fp);
其意义是把字符a写入fp所指向的文件中。

对于fputc函数的使用也要说明几点:

被写入的文件可以用写、读写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。
每写入一个字符,文件内部位置指针向后移动一个字节。
fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写入是否成功。

③ c语言读取文本文件

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:

#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打开输入文件
FILE*fp2=fopen("output.txt","w");//打开输出文件
if(fp1==NULL||fp2==NULL){//若打开文件失败则退出
puts("不能打开文件!");
rturn0;
}
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);//关闭输出文件,相当于保存
return0;
}

④ C语言读取文件内容,按行读

1通过fopen函数打开文本,例如file
*fp=fopen("in.txt","r");//返回一个file类型的句柄
2然后就可以通过fcanf()函数对txt文本进行读取
3操作完文本之后用fclose()函数
关闭已经打开的文件。
#include
int main()
{
int data;
file *fp=fopen("in.txt","r");
if(!fp)
{
printf("can't open file\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return 0;
}

⑤ c 如何读文件

在C语言开发中,想要读入一个文件。C语言可以使用FILE文件操作进行高和肢读取。下面小白就来简单说说C语言如何读取一个txt文件。

C语言读取步骤一:首先需要以写入的方式打开一个空白的texr.txt文件。FILE*fpWrite=fopen("text.txt";"w");

C语言读取步骤二:打开以后,继续进行循环写入0到9的操作。代码。

C语言读取棚早步骤三:完成文件写入操作后,一定戚世要记得对打开文件进行关闭操作。

C语言读取步骤四:接下来对文件中写入数据的读取。首先需要创建一个用于保存读取数据的数组。

C语言读取步骤五:创建好数组以后,以读取的方式对text.txt文件进行打开操作。

C语言读取步骤六:最后,将读取到的数据循环保存的创建好的数组中,并且将其显示到控制台中。

⑥ 怎样用c语言读取文件的标题

你的文件中标题格式是什么,就按格式fscanf读,与内容读取一样

⑦ C语言文件的文本怎么读取

根据你给的文件保存的数据的格式,我猜测每一行是一个学生的信息,格式如下:

序号 姓名 成绩1 成绩2 成绩3 ...

知道了题意和题目要求,那么一切将会变得简单起来,请看代码。

#include<stdio.h>

#defineREAD_FILE"data.txt"/*要读取的文件的名字*/
#defineWRITE_FILE"T_data.txt"/*要写入的文件的名字*/
#defineSTU_NUM10/*最大学生人数*/
#defineMAX_LEN50/*一行的最大字符数*/
/*
*获取总分函数
*/
intget_sum(charconst*msg){

intsum=0;
inttmp;
/*
*遍历一行字符
*/
while(*msg!=''){

/*
*以空格为一项成绩的分隔标志
*/
tmp=0;
while(*msg!=''&&*msg!=''){
/*
*char类型数字转int类型数字
*/
tmp=(tmp*10)+((*msg)-'0');
msg++;
}
/*
*求总和
*/
sum+=tmp;
if(*msg==''){

break;
}
msg++;
}
returnsum;
}

intmain(void){

FILE*rfp,*wfp;/*声明读取/写入文件指针*/
charstudent[STU_NUM][MAX_LEN];/*存放读取到的数据缓存数组*/
charch;
intsum[STU_NUM];/*成绩总和*/
inti=0;
intj=0;
intk=0;
rfp=fopen(READ_FILE,"r");/*打开数据文件*/
if(rfp==NULL){

perror(READ_FILE);
exit(1);
}
for(i=0;i<STU_NUM;i++){

sum[i]=0;
}
/*
*逐个字符读取文件的内容,
*直至遇到文件结束符为止。
*/
i=0;
while((ch=fgetc(rfp))!=EOF){
/*
*遇到换行符表示已经读取完一个学生的资料;
*否则继续将数据写入缓存数组中。
*/
if(ch==' '){

student[i][j]='';
j=0;
i+=1;
}else{

student[i][j++]=ch;
}
}
student[i][j]='';
wfp=fopen(WRITE_FILE,"w");
/*
*开始分析数据
*根据文件存放数据的格式,从下标为2的位置开始分析数据。
*当遇到空格时证明后面的数据是成绩,每一科成绩分数均以空格分开。
*printf是显示出来。
*fprintf是写入另一个文件。
*/
for(j=0;j<=i;j++){

k=2;
printf("%c%c",student[j][0],student[j][1]);
fprintf(wfp,"%c%c",student[j][0],student[j][1]);
while(student[j][k]!=''){

printf("%c",student[j][k]);
fprintf(wfp,"%c",student[j][k]);
k++;
}
printf("'ssumofscoresumis");
fprintf(wfp,"'ssumofscoresumis");
sum[j]=get_sum(&student[j][k]);
printf("%d ",sum[j]);
fprintf(wfp,"%d ",sum[j]);
}
/*
*记得关闭文件哦。
*/
fclose(rfp);
fclose(wfp);
return0;
}

以下是运行结果:

这个程序仅仅是针对你的题目要求来的,文件存放的数据格式不能更改,否则会出错。每一行必须以回车键结束,最后一行的最后一个字符之后什么也不能有。我尽量以你看得懂的方法来写,关键部分都带有注释,有问题不要追问了,自己多思考思考,实在解决不来还是很欢迎可以追问的哦,哈哈哈!!!