當前位置:首頁 » 編程語言 » 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("無法打開文件讀取。 ");

}