1樓:倉鼠說籃球
c語言讀取檔案並輸出的**如下:
#include
inta;
charb,c[100];
intmain(){
file*fp1=fopen("input.txt","r");//開啟輸入檔案
file*fp2=fopen("output.txt","w");//開啟輸出檔案
if(fp1==null||fp2==null){//若開啟檔案失敗則退出
puts("不能開啟檔案!");
return0;
fscanf(fp1,"%d",&a);//從輸入檔案讀取一個整數
b=fgetc(fp1);//從輸入檔案讀取一個字元
fgets(c,100,fp1);//從輸入檔案讀取一行字串
printf("%ld",ftell(fp1));//輸出fp1指標當前位置相對於檔案首的偏移位元組數
fputs(c,fp2);//向輸出檔案寫入一行字串
fputc(b,fp2);//向輸出檔案寫入一個字元
fprintf(fp2,"%d",a);//向輸出檔案寫入一個整數
fclose(fp1);//關閉輸入檔案
fclose(fp2);//關閉輸出檔案,相當於儲存
return0;
c語言中使用fopen()函式實現檔案的讀取,使用fgetc()函式讀取檔案中的字元,使用fclose()實現檔案的關閉,注意:開啟檔案流必須要關閉檔案流,不然會持續佔用計算機記憶體資源。
2樓:匿名使用者
1、c語言標準庫提供了一系列檔案操作函式。檔案操作函式一般以f+單詞的形式來命名(f是file的簡寫),其宣告位於stdio.h標頭檔案當中。
例如:fopen、fclose函式用於檔案開啟與關閉;fscanf、fgets函式用於檔案讀取;fprintf、fputs函式用於檔案寫入;ftell、fseek函式用於檔案操作位置的獲取與設定。
2、例程:
#include
int a;
char b,c[100];
int main()
fscanf(fp1,"%d",&a);//從輸入檔案讀取一個整數b=fgetc(fp1);//從輸入檔案讀取一個字元fgets(c,100,fp1);//從輸入檔案讀取一行字串printf("%ld",ftell(fp1));//輸出fp1指標當前位置相對於檔案首的偏移位元組數
fputs(c,fp2);//向輸出檔案寫入一行字串fputc(b,fp2);//向輸出檔案寫入一個字元fprintf(fp2,"%d",a);//向輸出檔案寫入一個整數fclose(fp1);//關閉輸入檔案
fclose(fp2);//關閉輸出檔案,相當於儲存return 0;}
3樓:匿名使用者
//每個單詞之間必須用換行符隔開
#include
#include
#include
#define buf_max 1024int main()
puts("請輸入你要查詢的單詞:");
scanf("%s",findstr);
bool bfind=false;
while(fgets(pstr,buf_max-1,pfile)!=null)
}if(!bfind)
puts("沒有找到");
fclose(pfile);
return 0;}
4樓:嚒頭
#include
#include
#include
#include
#define word_length 30#define line_length 256
int get_word_in_line(char *line)
return word_length;
}int main()
;char line_buf[line_length] = ;
if ((fp = fopen("words.txt", "r")) == null)
fprintf(stdout,"plear input a word that you want to search:\n"); gets(word_search);
while (fgets(line_buf, line_length, fp) != null && line_buf[0] != '\n')
memset(line_buf, 0, line_length);
}fprintf(stdout, "cannot find the word in the file!\n");
fclose(fp);
return 0;
}樓上用 函式strstr()有個缺陷
假如檔案中有
search 「查詢,同義詞 find」
當查詢單詞 find 時,同時會檢錄出如上一行
c語言如何實現對txt檔案的讀取和寫入
5樓:莊生曉夢
#include
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]=;
file *fpread=fopen("data.txt","r");
if(fpread==null)
return 0;
for(int i=0;i<
printf("%d ",a[i]);
getchar();//等待
return 1;
其他運算子:1、逗號運算子
用於把若干表示式組合成一個表示式(,)。
2、指標運算子
用於取內容(*)和取地址(&)二種運算。
3、求位元組數運算子
用於計算資料型別所佔的位元組數(sizeof)。
4、特殊運算子
有括號(),下標,成員(→,.)等幾種。
6樓:匿名使用者
使用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
#define f_path "d:\\myfile\\file.dat"
char c;
int main()
7樓:匿名使用者
寫入檔案:
#include
int main(void)
從檔案讀取:
#include
int main(void)
如何用c語言輸出檔案,如何用C語言輸出檔案?
1 c語言標準庫提供了一系列檔案操作函式。檔案操作函式一般以f 單詞的形式來命名 f是file的簡寫 其宣告位於stdio.h標頭檔案當中。例如 fopen fclose函式用於檔案開啟與關閉 fscanf fgets函式用於檔案讀取 fprintf fputs函式用於檔案寫入 ftell fsee...
c語言讀取文字檔案,C語言如何讀取txt文字里面的內容?
如果要求就這麼簡單的輸出的話。不知道如下結果如何,希望對你有幫助 include void main c語言如何讀取txt文字里面的內容?1 開啟電腦上要讀取的文字檔案。2 開啟文字後,點選文字左上角的 檔案 按鈕。3 點選 另存為 這樣就會儲存本來的這個文字檔案,生成一個新的c檔案。4 點選 儲存...
c語言讀檔案換行,c語言中如何從檔案裡讀取一段字串,至換行符
如果有特殊格式的檔案,不要用fgets這種 2進位制檔案 用fscanf這種,如 檔案格式如下 jsjfs jfslkjfsl lfskdjfl 後面換行,然後是下一行內容 讀取如下 fscanf fp,s s s n a,b,c 就行了,懂了嗎?希望有用!採納吧,這麼辛苦 c語言 fscanf語句...