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

c语言高效写入txt文件

发布时间: 2022-05-28 17:49:30

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语言数据写入txt

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void main()
{double a,b,c;
FILE *fp;
if((fp=fopen("my.txt","wb+"))==NULL)
{printf("Create File failure");
getch();
exit(1);
}
while(___) /*你的条件*/
{
/*scanf("%lf%lf%lf",&a,&b,&c); 这是自己输入数据*/
fprintf(("%lf%lf%lf",&a,&b,&c);
}
fclose(fp);
}
========================
把创建的txt文件放在当前目录下是什么意思呢,当前目录指的是哪里?是正在编辑的c文件所在的地方吗?
就是你的C文件将来要生成exe文件,这个exe文件所在的目录。调试时,就是编辑的c文件所在的地方

③ c语言程序设计 将数据写入指定的txt文件

1.
需要操作制定的文件,首先需要获取文件的文件描述符(句柄):fd
=
fopen("test.txt","w")
2.
使用fprintf(),或者fputs()函数将数据格式化写入该文本
#include
main()
{
FILE *f;
f=fopen("wenzhang.txt","w");
fprintf(f,"this is a c program !");
fclose(f);
}

④ C语言/c++如何把数输入到txt文件中去

C语言将数输入到文件中:

首先,定义一个文件指针:FILE *fp;和一个数组:int a[5];

然后,打开文件:fp = fopen ("filename.txt", "w"); //"w"是打开文件方式,将原有内容清空写入新数据,如果文件不存在则新建,类似的还有"r"只读打开(不能写入);"a"向文件中追加内容,原有内容不变,等等

最好再加入一个判断是否成功打开文件的if语句:

if (fp == NULL)

{

printf ("文件打开失败! ");

exit (-1); //标记出错位置,需要包含头文件stdlib.h

}

把数据存入到数组里:

for (i=0; i<5; i++)

scanf ("%d", &a[i]);

再把数组里的数一个一个的保存到txt文件中:

for (i=0; i<5; i++)

fprintf (fp, "%d", a[i]); //fprintf 函数和printf 函数类似,只是输出的对象不同.fprintf 函数的输出对象是文件,而printf 函数的输出对象是屏幕

最后记得关闭文件: fclose (fp);

这样就把一组数保存到:filename.txt文件中了,下面是完整代码实现:

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

intmain()
{
inti,a[5];
FILE*fp;

fp=fopen("filename.txt","w");
if(fp==NULL)
{
printf("文件打开失败! ");
exit(-1);//标记出错位置,需要包含头文件stdlib.h
}
printf("输入要保存到文件里的5个数: ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
fprintf(fp,"%d",a[i]);
printf("这5个数已成功保存到filename.txt文件中 ");

return0;
}

C++语言将数输入到文件中:

C++有关文件的操作要包含头文件fstream,因为头文件fstream中定义了一个用于处理输出的ofstream的类

声明ofstream变量(对象):ofstream file;

声明一个变量(也可以是数组) int a;

需要将ofstream对象与文件关联起来,使用open()方法:file.open("filename.txt");

将对象与特定的文件关联以后把数输入到文本中简单得就像把数打印到屏幕一样

如果要把变量a的值输入到文件中就象这样: file << a;

这样就把数保存到文件中了!

同C语言一样使用完以后利用close()将其关闭:file.close();

完整实现:

#include<iostream>
#include<fstream>
usingnamespacestd;

intmain()
{
inta;
ofstreamfile;

file.open("filename.txt");//将对象与文件关联
cout<<"输入一个数:";
cin>>a;
file<<a;
cout<<"成功将数保存到filename.txt文件中去了!"<<endl;
file.close();

return0;
}
综上,C语言和C++语言将数保存到文件还是有点区别的,只要撑握好它们的使用方法都很容易的!

:

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

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

⑥ 用c语言创建一个txt文件,并且写入数据

#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;

}


(6)c语言高效写入txt文件扩展阅读:

c语言最常用的文件使用方式及其含义
1、"r".为读而打开文本文件.(不存在则出错)

2、"rb".为读而打开二进制文件.

3、"w".为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)

4、"wb".为写而打开二进制文件.

5、"a".为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)

6、"ab".为在文件后面添加数据而打开一个二进制文件.

7、"r+".为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变)

8、"rb+".为读和写而打开二进制文件.只是在随后的读写时,可以由位置函数设置读和写的起始位置.

9、"w+".首先建立一个新文件,进行写操作,随后可以从头开始读.(若文件存在,原内容将全部消失)

10、"wb+".功能与"w+"同.只是在随后的读写时,可以由位置函数设置读和写的起始位置.

11、"a+".功能与"a"相同;只是在文件尾部添加新的数据后,可以从头开始读.

12、"ab+".功能与"a+"相同;只是在文件尾部添加新数据之后,可以由位置函数设置开始读的起始位置.

参考链接来源:网络-C语言

⑦ c语言怎么把一个数组里的值存入文本文件里

对于数组type a[N], 要将其写入文件有两种方式可以使用。
1 将数组以二进制方式写入文件。如
fwrite(a, sizeof(a), 1, fp);
可以将数组整体以二进制方式写入文件中。

2 按照元素,依次写入文件。具体写入格式与数组的类型有关。如为int数组可以写作:
int i;
for(i = 0; i < N; i++)
fprintf("%d,", a[i]);

两种方法各有优缺点:
1 代码量上,第一种方式更简单高效;
2 运行效率上,第一种方法的执行效率更高;
3 文件空间大小上:
如果数组中的字符串元素较多,那么二者写入后目标文件大小相似,或者第二种方式占用的空间较小。
如果数组中的整型或浮点型数据较多,那么第一种方式占用的空间较小。
4 目标文件可读性:
第一种方法得到的文件是二进制文件,需要用专门的阅读器打开,且必须是专业人士才可以读懂。
第二种方法更直观,直接打开文本文件就可以阅读输出结果。

⑧ 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语言如何将printf产生的数据写到txt文件中

有以下三种方式可以做到:

1 使用重定向函数freopen将标准输出重定向到对应的txt文件。
其使用方法为,在所有的系统输出前,调用
stdout = freopen("out.txt", "w", stdout);
out.txt即所要写入的txt文件名。

2 在执行时处理。
编译最终生成的为可执行文件,运行也是运行这个文件。

在运行文件时,可以通过重定向符号,将输出重定向到其它文件。
如果生成的可执行文件为my.exe,那么在命令行调用
my.exe > out.txt
即可将my.exe的输出写入到out.txt中。

3 以上两种方法都是把所有的标准输出,包括printf, puts, putchar等,均输入到对应文件中。
如果要仅输出printf的结果,可以先打开文件,然后修改代码,把每个printf的调用修改对应的写文件函数。即printf(xxxx);修改为fprintf(fp, xxxxx);的形式。
其中fp为打开的文件指针。

⑩ 怎样用C语言写入\读取一个TXT文件

如果预知前面的是英文后面的是中文,即可分开:

#include<stdio.h>

#define N 100

void main() { FILE *fp; char s[256],y[N][20],h[N][20]; int i,n;

if ( fp=fopen("c:\data\text.txt","r") ) {

n=0;

while ( !feof(fp) ) {

fgets(s,256,fp); sscanf("%s%s",y[n],h[n]); n++; if ( n>=N ) break;

}

fclose(fp);

printf("英文: "); for ( i=0;i<n;i++ ) printf("%s ",y[i]); printf(" ");

printf("中文: "); for ( i=0;i<n;i++ ) printf("%s ",h[i]); printf(" ");

} else printf("无法打开文件读取。 ");

}

如果中英文顺序不一定,且不会有中英文混合单词:

#include<stdio.h>

#include<string.h>

#define N 100

void main() { FILE *fp; char s[256],y[N][20],h[N][20]; int i,n;

if ( fp=fopen("c:\data\text.txt","r") ) {

n=0;

while ( !feof(fp) ) {

fgets(s,256,fp); sscanf("%s%s",y[n],h[n]);

if ( y[n][0]<0 ) { strcpy(s,y[n]);strcpy(y[n],h[n]);strcpy(h[n],s); } //汉字字符ASCII码小于0

n++; if ( n>=N ) break;

}

fclose(fp);

printf("英文: "); for ( i=0;i<n;i++ ) printf("%s ",y[i]); printf(" ");

printf("中文: "); for ( i=0;i<n;i++ ) printf("%s ",h[i]); printf(" ");

} else printf("无法打开文件读取。 ");

}