Ⅰ c语言写入文件方法
要写入文件,可以按照以下步骤进行操作:
1 在代码中引用stdio.h,即
#include <stdio.h>
C语言的所有文件操作接口,均声明在这个头文件中。
2 定义FILE *类型的变量。
3 打开文件,使用函数为fopen。格式为:
FILE *fopen(char *filename, char *mode);
参数filename为要写入的文件名,mode为打开的方式,如果仅需写入文件,可以使用"w"或
"wb"。
返回值为文件指针类型,赋值给之前定义的变量。如果返回值为NULL,代表打开失败,无法写入。
4 对文件进行写操作。C语言中有很多写文件的接口,包括fprintf, fwrite, fputs, fputc等等。
写操作可以执行多次。
5 在全部写操作完成后,执行fclose函数关闭文件指针。这样就实现了C语言写入文件。
Ⅱ C语言如何写入文本文件
1、首先输入下方的代码
#include <stdio.h>
int main()
{
//下面是写数据,将数字0~9写入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
fprintf(fpWrite,"%d ",i);
fclose(fpWrite);
//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上
int a[10]={0};
FILE *fpRead=fopen("data.txt","r");
if(fpRead==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
{
fscanf(fpRead,"%d ",&a[i]);
printf("%d ",a[i]);
}
getchar();//等待
return 1;
}
Ⅲ C语言中,如何把数组里的数据写入文件
使用for循环语句+文件操作函数即可把数组里的数据写入文件。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章,可以找本教材进一步学习。
2、例程:
#include<stdio.h>
inti,a[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打开输入文件
FILE*fp2=fopen("output.txt","w");//打开输出文件
if(fp1==NULL||fp2==NULL){//若打开文件失败则退出
puts("不能打开文件!");
rturn0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//从输入文件连续读取整数到数组a
for(;i--;)fscanf(fp2,"%d",a[i]);//把数组a逆序写入到输出文件当中
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return0;
}
Ⅳ C语言如何实现对txt文件的读取和写入
使用fopen的r方式可以实现读取,用w+方式可以实现写入。
1.fopen的函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读数据。
rw+
读写打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
wt+
读写打开或着建立一个文本文件;允许读写。
at+
读写打开一个文本文件,允许读或在文本末追加数据。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b
字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。
2.例程:
#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"w"); //创建文件
if(NULL==fp) return -1;//要返回错误代码
while(scanf("%c",&c)!=EOF) fprintf(fp,"%c",c); //从控制台中读入并在文本输出
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}
Ⅳ C语言中怎样向文件中写入数据
a+是追加打开文件,不会将原有数据覆盖
一个简单的做法是分两次打开文件,第一次用r打开读取,关闭文件,第二次用w打开覆盖写入排序好的数据。
Ⅵ C语言,往文件中写入数据的问题
fclose(fp):函数fclose()关闭给出的文件流,
释放已关联到流的所有缓冲区.
fclose()执行成功时返回0,否则返回EOF.
加上这一句是为了保护你的文件
如果不写这句
那么别的程序也可以随意的对该文件进行写入
这样你的文件就是乱套了。
首先楼主要搞清楚getchar()是什么意思
getchar()
相当于
getc(stdin)也就是从stdin缓冲流里面读数据
你写这句也是为了防止你输入字符后后面还有残余
但是你第二个是读文件数据流
根本就没有读缓冲流
所以不写那句也可以的
不知道楼主明白否?
补充回答:
楼主没有弄明白什么是EOF
EOF常被作为文件结束的标志。EOF
的值通常为
-1
它不是字符串
他相当于宏定义
它是不会被写入到文件当中的
如楼主还有疑问
直接hi我吧
Ⅶ c语言中怎么向文件中写入数据啊 具体点 谢谢
不知你向文件输入的是什么数据,输入数据的函数很多,有fputc(s,fp);有fwrite()函数、、、、
下面是想文件输入字符,并把字符串中的小写字符转换成大写字符:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main()
{
FILE *fp;
char filename[20];
printf("请输入文件的名称:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file ,,,\n");
exit(0);
}
printf("请输入字符直至结束(ctrl +z):");
fflush(stdin);
char s;
while(scanf("%c",&s),=EOF)
{
if(islower(s))
s=toupper(s);//把小写字符转换成大写字符
fputc(s,fp);
}
rewind(fp);//是位置指针重新返回文件的开头,此函数没有返回值
if((fp=fopen(filename,"r"))==NULL)//以读的方式打开文件
{
printf("cannot open file ,,,\n");
exit(0);
}
while(,feof(fp))
{
s=getc(fp);
putchar(s);
}
return 0;
}
测试:
请输入文件的名称:hello
请输入字符直至结束(ctrl +z):hello world ,
Z
Z。
Ⅷ C语言对文件的数据写入的方法
if((fp=fopen("e:\\文件读写.txt","r"))==NULL)//注意不要将==写成=号,文件的路径是“磁盘:\\文件夹\\文件名.格式”
{
printf("无法打开“文件读写.txt”\n");
exit(1);
}
else
printf("文件已成功打开,可以写入数据了。\n");
删掉
Ⅸ C语言如何以插入方式写入文件
这是不可能实现的。因为数据在硬盘上是连续保存的。
你真要插入的话,唯一的办法是将插入点后面的所有数据都备份一下,然后等你输入了待插入数据后(这意味着有若干字节被覆盖了,不过反正已经备份了),将备份的那些重新输入到文件里。
当然,如果你是在文件开头插入数据,就意味着要重新写一遍整个文件,耗时会很长,但这也是不可避免的。
如果不想破坏原文件的话,可以使用一个临时文件,修改完后删除原文件,将临时文件重命名为原文件的名字。