当前位置:首页 » 编程语言 » c语言读写

c语言读写

发布时间: 2022-01-12 07:59:53

c语言中文件的读写实际过程

RB和R本质上是二进制数据流,但用于文本的二进制数据的含义是ASCII或其他内部代码。R/W和Rb/WB之间的一个重要区别是,R/W的文本换行格式在不同的系统上是不同的(DOS/windows下的回车字符Cr('\R')+换行字符LF('\n')、UNIX/Linux下的LF和MAC下的Cr),这导致文件操作的细节不同(例如,通过fput和fprintf处理字符串的结尾)。
具体的读写实现由库函数处理,WB/RB模式一般采用缓冲区读写,最终实现对外部内存文件或其他输入/输出流的抽象(包括在内存中建立缓冲区)。在此基础上,w/R模式处理了上述一些差异。通常,缓冲区的操作取决于库函数的实现。用户无法看到库函数,因为它是不必要的(无法保证不同平台的实现是一致的)。
对于标准输入设备,如键盘,它被抽象为标准输入流stdin。除了抽象过程本身(由底层系统实现)外,实现方法与从外部存储文件读取之间没有本质区别。

Ⅱ C语言文本文件的读写

//---------------------------------------------------------------------------

#include <stdio.h>
struct pro
{float msl;
float la,lo;
double refractivity,density,pressure;
float temp;
}atm[200];

int main(void)
{
FILE *fp=fopen("infile.dat","r"),*fp2=NULL;
int i;
if (!fp||(fp2=fopen("out.txt","w"))==NULL) {
fprintf(stderr,"FILE ERROR");
return -1;
}
for (i = 0; i<200; i++) {
/*从infile.dat文件读取数据*/
fscanf(fp,"%f%f%f%lf%lf%lf%f",&atm[i].msl,&atm[i].la,&atm[i].lo,&atm[i].refractivity,&atm[i].density,&atm[i].pressure,&atm[i].temp);
/*将数据写到out.txt文件*/
fprintf(fp,"%f\t%f\t%f\t%lf\t%lf\t%lf\t%f\n",atm[i].msl,atm[i].la,atm[i].lo,atm[i].refractivity,atm[i].density,atm[i].pressure,atm[i].temp);
}
fclose(fp);
fclose(fp2);
return 0;
}
//---------------------------------------------------------------------------

Ⅲ c语言读写文件

c语言字符串中包含路径:C:\windows\system32
要写成:"C:\\windows\\system32"

Ⅳ c语言的文件读写代码

fopen打开文件
fread读文件
fwrite写文件
fclose关闭文件
几个函数,按你文件读写要求写一个,不难的

Ⅳ C语言文件的读写

一个c语言读写文件程序:
#include "stdio.h"
#include <stdlib.h>

main()
{
FILE *fp1;//定义文件流指针,用于打开读取的文件
FILE *fp2;//定义文件流指针,用于打开写操作的文件
char text[1024];//定义一个字符串数组,用于存储读取的字符
fp1 = fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2 = fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}

Ⅵ C语言如何实现对txt文件的读取和写入

1、使用VS新建空工程,直接点击确定,如下所示。

Ⅶ C语言 文件读写

你的是字符写入的
可以逐行进行操作
你把具体代码给我 我来改

Ⅷ c语言文件的读写

由于你的程序只有一个主函数,看来你还不熟悉函数,那么我告诉你在你程序的基础上怎么修改吧!

一、多定义两个变量:

1. 先添加头文件,写在最前面#include <string.h>

2. 再定义两个变量

FILE*fp=NULL;
charfilename[100]={0};

二、在写入文件之前,先打开一个要写入的文件,若没有此文件,就新建一个。在想写入文件的地方:

	printf("

			---------下面生成xml文件---------


");
strcpy(filename,font); //获得用户输入的文件名称
strcat(filename,".xml"); //添加xml文件后缀
fp=fopen(filename,"wt"); //打开文件

三、在想写入文件的地方调用 fprintf函数:

fprintf函数使用很简单:将所有你写的printf复制一下,然后在前面加上f成为fprintf,然后在添加新的参数fp,如:

原printf为

printf("<?xmlversion='1.0'encoding='UTF-8'standalone='yes'?>
");

改为fprintf

fprintf(fp,"<?xmlversion='1.0'encoding='UTF-8'standalone='yes'?>
");

举例你的代码如下修改:

	printf("<?xmlversion='1.0'encoding='UTF-8'standalone='yes'?>
");
printf("<stylewidth="%d"height="%d"> ",width,height);

if(fp!=NULL) //若打开文件成功
{
fprintf(fp,"<?xmlversion='1.0'encoding='UTF-8'standalone='yes'?> ",fp);
fprintf(fp,"<stylewidth="%d"height="%d"> ",width,height);
}

其他地方以此类推,档xml文件写完时,要关闭该文件:

	printf("</style>


");
fprintf(fp,"</style> ");//写入文件
fclose(fp);//关闭该xml文件
fp=NULL;//将文件指针赋值为NULL

四、写入til文件和css文件时,操作类似:

	printf("

			---------下面生成til文件---------


");
strcpy(filename,font);
strcat(filename,".til");
fp=fopen(filename,"wt");
		printf("[GLOBAL]
");
printf("USE_ALPHA=1 ");
printf("TILE_NUM=%d ",n);

if(fp!=NULL)//若文件打开成功
{
fprintf(fp,"[GLOBAL] ");//写入文件内哦
fprintf(fp,"USE_ALPHA=1 ");
fprintf(fp,"TILE_NUM=%d ",n);
}

。。。其余省略

可以追问。

Ⅸ 关于C语言的读写

r的意思是以只读方式打开文件,表示程序只能读取文件中的内容,不可以把其他数据写入文件,书本上说只读的意思是只能输入不可以输出那是对程序而言的吧,只能从只读文件中读取内容输入到程序,不能将程序结果输出到只读文件。
w意思是用“w”打开的文件只能向该文件写入,书上说是“只能写入而不能输入”意思是: 只能由程序向该文件中写入内容,不能将文件内容输入到程序。
你没有弄清说话的对象,还有楼主看的什么书啊?找一本表述清楚的书啊~~C语言建议看C Primer Plus,C++建议看C++ Primer Plus,都是入门必看经典来着。

Ⅹ 如何用C语言读写文件

fopen
函数功能:打开一个文件
函数原型:FILE * fopen(const char * path,const char * mode);
相关函数:open,fclose,fopen_s,_wfopen
所需库:<stdio.h>
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。

函数简介
函数原型:FILE * fopen(const char * path,const char * mode);

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。

一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。

参数说明:

参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

mode有下列几种形态字符串:

r 以只读方式打开文件,该文件必须存在。

r+ 以可读写方式打开文件,该文件必须存在。

rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。

rw+ 读写打开一个文本文件,允许读和写。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

at+ 打开一个叫string的文件,a表示append,就是说写入处理的时候是接着原来文件已有内容写入,不是从头写入覆盖掉,t表示打开文件的类型是文本文件,+号表示对文件既可以读也可以写。

上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库以二进制模式打开文件。如果不加b,表示默认加了t,即rt,wt,其中t表示以文本模式打开文件。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。

有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。

二进制和文本模式的区别

1.在windows系统中,文本模式下,文件以"\r\n"代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n" 。

2.在类Unix/Linux系统中文本模式下,文件以"\n"代表换行。所以Linux系统中在文本模式和二进制模式下并无区别。

打开方式总结:各种打开方式主要有三个方面的区别:

①打开是否为二进制文件,用“b”标识。

②读写的方式,有以下几种:只读、只写、读写、追加只写、追加读写这几种方式。

③对文件是否必须存在、以及存在时是清空还是追加会有不同的响应。具体判断如下图。

参考http://ke..com/view/656681.htm?fr=aladdin

热点内容
绿色linux 发布:2024-11-14 12:56:11 浏览:349
游戏本缓存 发布:2024-11-14 12:55:28 浏览:649
微软提供的编译软件 发布:2024-11-14 12:55:16 浏览:17
长沙java培训机构哪家好 发布:2024-11-14 12:40:53 浏览:228
外存储器硬盘能存储的高清电影数 发布:2024-11-14 12:33:23 浏览:265
python分号作用 发布:2024-11-14 12:31:50 浏览:223
方舟编译器下载要钱吗 发布:2024-11-14 12:29:20 浏览:62
jspoa源码 发布:2024-11-14 12:21:31 浏览:420
不记得了密码怎么办 发布:2024-11-14 12:18:58 浏览:442
python字符串的大小 发布:2024-11-14 12:17:24 浏览:222