① 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!='