導航:首頁 > 文件管理 > 如何取用c文件

如何取用c文件

發布時間:2023-06-15 23:06:28

『壹』 如何用c讀取文件

1.
循環讀取一個文件的內容。
這樣做沒有任何意義,不如把讀取的內容保持在變數當中,節省空間時間。如果非要反復讀取的話可以使用rewind函數把文件指針重置。
函數名:
rewind()

能:
將文件內部的位置指針重新指向一個流(數據流/文件)的開頭
注意:不是文件指針而是文件內部的位置指針,隨著對文件的讀寫文件的位置指針(指向當前讀寫位元組)向後移動。而文件指針是指向整個文件,如果不重新賦值文件指針不會改變。rewind函數作用等同於
(void)fseek(stream,
0l,
seek_set);
2.
循環讀取多個文件的內容。
把多個文件名存在一個字元串數組當中。使用循環語句反復打開-讀取-關閉即可。
例如:
char * s[3]={"文件一","文件二","文件三"};
for(i=0;i<3;i++){
f=fopen(s[i]); //打開第i個文件
//讀取數據
fclose(f);//關閉文件
}

『貳』 C語言文件的文本怎麼讀取

根據你給的文件保存的數據的格式,我猜測每一行是一個學生的信息,格式如下:

序號 姓名 成績1 成績2 成績3 ...

知道了題意和題目要求,那麼一切將會變得簡單起來,請看代碼

#include<stdio.h>

#defineREAD_FILE"data.txt"/*要讀取的文件的名字*/
#defineWRITE_FILE"T_data.txt"/*要寫入的文件的名字*/
#defineSTU_NUM10/*最大學生人數*/
#defineMAX_LEN50/*一行的最大字元數*/
/*
*獲取總分函數
*/
intget_sum(charconst*msg){

intsum=0;
inttmp;
/*
*遍歷一行字元
*/
while(*msg!=''){

/*
*以空格為一項成績的分隔標志
*/
tmp=0;
while(*msg!=''&&*msg!=''){
/*
*char類型數字轉int類型數字
*/
tmp=(tmp*10)+((*msg)-'0');
msg++;
}
/*
*求總和
*/
sum+=tmp;
if(*msg==''){

break;
}
msg++;
}
returnsum;
}

intmain(void){

FILE*rfp,*wfp;/*聲明讀取/寫入文件指針*/
charstudent[STU_NUM][MAX_LEN];/*存放讀取到的數據緩存數組*/
charch;
intsum[STU_NUM];/*成績總和*/
inti=0;
intj=0;
intk=0;
rfp=fopen(READ_FILE,"r");/*打開數據文件*/
if(rfp==NULL){

perror(READ_FILE);
exit(1);
}
for(i=0;i<STU_NUM;i++){

sum[i]=0;
}
/*
*逐個字元讀取文件的內容,
*直至遇到文件結束符為止。
*/
i=0;
while((ch=fgetc(rfp))!=EOF){
/*
*遇到換行符表示已經讀取完一個學生的資料;
*否則繼續將數據寫入緩存數組中。
*/
if(ch==' '){

student[i][j]='';
j=0;
i+=1;
}else{

student[i][j++]=ch;
}
}
student[i][j]='';
wfp=fopen(WRITE_FILE,"w");
/*
*開始分析數據
*根據文件存放數據的格式,從下標為2的位置開始分析數據。
*當遇到空格時證明後面的數據是成績,每一科成績分數均以空格分開。
*printf是顯示出來。
*fprintf是寫入另一個文件。
*/
for(j=0;j<=i;j++){

k=2;
printf("%c%c",student[j][0],student[j][1]);
fprintf(wfp,"%c%c",student[j][0],student[j][1]);
while(student[j][k]!=''){

printf("%c",student[j][k]);
fprintf(wfp,"%c",student[j][k]);
k++;
}
printf("'ssumofscoresumis");
fprintf(wfp,"'ssumofscoresumis");
sum[j]=get_sum(&student[j][k]);
printf("%d ",sum[j]);
fprintf(wfp,"%d ",sum[j]);
}
/*
*記得關閉文件哦。
*/
fclose(rfp);
fclose(wfp);
return0;
}

以下是運行結果:

這個程序僅僅是針對你的題目要求來的,文件存放的數據格式不能更改,否則會出錯。每一行必須以回車鍵結束,最後一行的最後一個字元之後什麼也不能有。我盡量以你看得懂的方法來寫,關鍵部分都帶有注釋,有問題不要追問了,自己多思考思考,實在解決不來還是很歡迎可以追問的哦,哈哈哈!!!

『叄』 c語言中文件怎樣調用文件

lz是不是不知復道怎麼把多個制文件聯系在一起編譯運行啊!
首先修正一個樓上的錯誤。對於用戶自己寫的頭文件,應當用#include
「xx.h」
而不能用#include
<xx.h>。否則將會出錯。
lz在寫好這個頭文件後,比如你說的xx.h
只需要在你的源文件,也就是.c文件的開頭使用預處理命令#include
"xx.h"便可以將頭文件裡面的內容包含到你的.c文件了。
然後直接編譯,鏈接你的源文件(.c),然後生成生成.exe文件,便可以運行了。
lz注意嘍!一定要把你的頭文件和源文件放到同一個文件夾目錄下,才能正確運行嘍!

『肆』 C語言如何讀取文件

文件流指針應打文件,要同操作兩文件,所要用兩文件流指針
,像要同操作兩箱.
程序理解:
兩箱,fp1,fp2;
打箱fp1,fp2,拿1024東西看,同放第二箱fp2,至箱東西完全拿,關閉兩箱.
例都差,看看stdlibf函數,C文件操作:
FILL
*pf;
//聲明指針,指針數組
FILE
pf[2]

FILE
**pf;
pf
=fopen();
fread()
or
fwrite()
...
...
//操作文件
fclose(pf)
//關閉文件

『伍』 c語言讀取文本文件

1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:

#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
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語言讀取文件

#include
"stdio.h"
int
main()
{
FILE
*pf=NULL; //文件指針
int
filelen=0;
int
i=0;
char
*buf;
pf=fopen("D:\\test.txt","r"); //以只讀方式打開文件
if(pf==NULL)
{
return
0;
}
else
{
//獲得文件長度
fseek(pf,0,SEEK_END); //文件指針移到末尾
filelen=ftell(pf); //獲得文件當前指針位置,即為文件長度
rewind(pf); //將文件指針移到開頭,准備讀取
buf=malloc(filelen+1); //新建緩沖區,存儲獨處的數據
//將緩沖區的數據設置為0
for(i=0;i<filelen+1;i++)
buf[i]=0;

//讀取文件
fread(buf,filelen,1,pf);
//關閉文件
fclose(pf);
//buf中即為要讀出的數據
printf("%s\n",buf);
//輸出一下數據,你可以隨便怎麼用
free(buf);
//最後記得要釋放
}
return
1;
}

『柒』 C讀取文件

下面是一個完整的實例, 樓主參考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *pchBuf = NULL;
int nLen = 0;
FILE *pF = fopen(__FILE__, "r"); //打開文件

fseek(pF, 0, SEEK_END); //文件指針移到文件尾
nLen = ftell(pF); //得到當前指針位置, 即是文件的長度
rewind(pF); //文件指針恢復到文件頭位置

//動態申請空間, 為保存字元串結尾標志\0, 多申請一個字元的空間
pchBuf = (char*) malloc(sizeof(char)*nLen+1);
if(!pchBuf)
{
perror("內存不夠!\n");
exit(0);
}

//讀取文件內容//讀取的長度和源文件長度有可能有出入,這里自動調整 nLen
nLen = fread(pchBuf, sizeof(char), nLen, pF);

pchBuf[nLen] = '\0'; //添加字元串結尾標志

printf("%s\n", pchBuf); //把讀取的內容輸出到屏幕看看

fclose(pF); //關閉文件
free(pchBuf); //釋放空間

return 0;
}

『捌』 如何用C語言獲取目錄下的文件和目錄列表

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

void main()
{
system("DIR /D C:\\ /s /B > a.log");
}

C:\下的所有抄文件夾襲,子文件夾里所有文件,轉向到 文本文件 a.log 里。
格式:
C:\aaa\bbb\ccc\...

只要文件夾命令:
dir /d c: /B /ad
只要文件夾命令,含子文件夾:
dir /d c: /B /ad /s

『玖』 c怎麼讀取文件中的相應數據

首先在D盤里創建一個data的txt文件,然後將data文件放進c語言的數據中即可讀取相應數據。C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。

C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機攔知凱器語言以及不需要任何運行環境簡喚支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持猛遲著跨平台的特性。

閱讀全文

與如何取用c文件相關的資料

熱點內容
c代碼整理 瀏覽:104
網路營銷具有什麼優勢 瀏覽:378
右下角網路連接不顯示寬頻連接 瀏覽:940
ps修改tif文件 瀏覽:580
預防醫學如何轉行做大數據 瀏覽:234
pdf文件變藍 瀏覽:309
怎麼在pdf文件上面用k寶簽名 瀏覽:213
如何知道表格里數據後面有空格 瀏覽:720
gee引擎更新系統找不到指定文件 瀏覽:802
貝殼網的數據刪除了如何找回 瀏覽:509
華為榮耀6x怎麼切換網路 瀏覽:418
手機里的pdf文件在哪放 瀏覽:889
java版貪吃蛇畢業論文 瀏覽:989
微信公共號郵箱 瀏覽:415
圖片寬度代碼 瀏覽:460
有哪些好用的相見恨晚的app 瀏覽:664
cs部分文件找不到 瀏覽:369
小工工具 瀏覽:681
pat文件怎麼做 瀏覽:744
opensuse11內核版本 瀏覽:62

友情鏈接