Ⅰ 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語言如何以插入方式寫入文件
這是不可能實現的。因為數據在硬碟上是連續保存的。
你真要插入的話,唯一的辦法是將插入點後面的所有數據都備份一下,然後等你輸入了待插入數據後(這意味著有若干位元組被覆蓋了,不過反正已經備份了),將備份的那些重新輸入到文件里。
當然,如果你是在文件開頭插入數據,就意味著要重新寫一遍整個文件,耗時會很長,但這也是不可避免的。
如果不想破壞原文件的話,可以使用一個臨時文件,修改完後刪除原文件,將臨時文件重命名為原文件的名字。