試試定義一個(gè)二維字符組。每行是一個(gè)地址。讓指針指向第一行。用循環(huán):如果打不開就

主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開發(fā)、微網(wǎng)站、重慶小程序開發(fā)公司等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xiàng)目的能力。
指向下一行。這樣的話你的指針不能用雙引號(hào)括起來(lái)。while(q=fopen(*p,"rb")==null)p++;
fopen一般與buf搭配使用,通過(guò)與fgets函數(shù)配合使用,將文件中的字符串讀到buf中,這樣達(dá)到讀出文件內(nèi)容的目的代碼如下:
FILE tf=NULL;//定義一個(gè)文件指著,用于判斷fopen是否打開成功,并初始化為空;
char buf[1024]={0};//定義一個(gè)長(zhǎng)度為1024的數(shù)組,用于存放文件的內(nèi)容;
tf=fopen("c:\example.txt","r");//打開c盤指定文件,并以只讀的形式打開,避免破壞原文件,將fopen的返回值放在指針tf中,若打開成功,則返回成功的指針,打開不成功則返回空;
if(tf != NULL)//判斷是否成功,不等于NULL則表示成功;
{
if(fgets(buf,1024,tf) != NULL)//將指向c盤文件的指針的內(nèi)容賦給buf,長(zhǎng)度為1024,并判斷是否獲取成功;
{
printf("buf=%s\n",buf);//將成功獲取的字符串顯示在屏幕上;
}
}
fclose(tf);//將已打開的文件關(guān)閉;
擴(kuò)展資料:
fopen的工作原理
FILE *fp;
fp=fopen("filename.txt","w");
首先檢測(cè)filename.txt是否存在,如果不存在則在磁盤 創(chuàng)建該文件,然后在內(nèi)存開辟區(qū)域(應(yīng)該是緩沖區(qū))準(zhǔn)備寫該文件
調(diào)用fclose時(shí),將內(nèi)存中的內(nèi)容寫入到磁盤中去
測(cè)試(filename.txt不存在):
#include stdio.h
#include stdlib.h
int main()
{
FILE *fp1,*fp2;
fp1=fopen("filename.txt","w");
if(fp1==NULL)
{
printf("fp1 open failed!/n");
}
else
{
printf("fp1 open success!/n");
}
fp2=fopen("filename.txt","r");
if(fp2==NULL)
{
printf("fp2 open failed!/n");
}
else
{
printf("fp2 open success!/n");
}
fclose(fp1);
fclose(fp2);
return 0;
}
輸出:
fp1 open success!
fp2 open success!
說(shuō)明文件操作不是互斥的,而且以寫方式打開文件,如果文件不存在,先在磁盤創(chuàng)建該文件
加入寫入語(yǔ)句:
#include stdio.h
#include stdlib.h
int main()
{
FILE *fp1,*fp2;
fp1=fopen("filename.txt","w");
if(fp1==NULL)
{
printf("fp1 open failed!/n");
}
else
{
printf("fp1 open success!/n");
fputs("abcdef",fp1);
}
fp2=fopen("filename.txt","w");
if(fp2==NULL)
{
printf("fp2 open failed!/n");
}
else
{
printf("fp2 open success!/n");
fputs("ABC/n",fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
打開filename.txt文件:
ABC
f
說(shuō)明后關(guān)閉的,刷新了磁盤數(shù)據(jù)
參考資料來(lái)源:fopen-百度百科
部分方法:
fopen的函數(shù)原型:FILE * fopen(const char * path,const char * mode);
fopen函數(shù)的第一個(gè)參數(shù)是文件路徑,第二個(gè)參數(shù)是打開方式,有以下幾種方式:
r 以只讀方式打開文件,該文件必須存在。
r+ 以可讀寫方式打開文件,該文件必須存在。
rb+ 讀寫打開一個(gè)二進(jìn)制文件,允許讀數(shù)據(jù)。
rw+ 讀寫打開一個(gè)文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則文件長(zhǎng)度清為0,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長(zhǎng)度清為零,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾,即文件原先的內(nèi)容會(huì)被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾后,即文件原先的內(nèi)容會(huì)被保留。 (原來(lái)的EOF符不保留)
wb 只寫打開或新建一個(gè)二進(jìn)制文件;只允許寫數(shù)據(jù)。
wb+ 讀寫打開或建立一個(gè)二進(jìn)制文件,允許讀和寫。
wt+ 讀寫打開或著建立一個(gè)文本文件;允許讀寫。
at+ 讀寫打開一個(gè)文本文件,允許讀或在文本末追加數(shù)據(jù)。
ab+ 讀寫打開一個(gè)二進(jìn)制文件,允許讀或在文件末追加數(shù)據(jù)。
上述的形態(tài)字符串都可以再加一個(gè)b字符,如rb、w+b或ab+等組合,加入b 字符用來(lái)告訴函數(shù)庫(kù)打開的文件為二進(jìn)制文件,而非純文字文件。
C語(yǔ)言的文件處理的過(guò)程是,先聲明一個(gè)文件指針,然后用fopen函數(shù)打開文件,fopen打開文件成功的話返回一個(gè)指針該流的文件指針,然后利用指針對(duì)文件進(jìn)行操作就好了,最后完事了在fclose函數(shù)關(guān)閉流,并釋放指向他的指針。
例如:要對(duì)c:\example.txt的文本文件內(nèi)容為:ISP,進(jìn)行操作
#include stdio.h
int main()
{
char ch;
FILE* fp;
char fname[50] = "c:\example.txt";
fp = fopen(fname,"r"); //只供讀取
if(fp == NULL) //如果失敗了
{
printf("ERROR!");
return 1;
}
//getc()用于在打開文件中獲取一個(gè)字符
while((ch = getc(fp)) != EOF) //循環(huán)獲取直至文件結(jié)束 EOF標(biāo)志(End Of File)
putchar(ch); //打印獲取到的字符
fclose(fp); //關(guān)閉文件
return 0;
}
希望對(duì)你有幫助!
可以調(diào)用 兩次,但語(yǔ)法要正確
if ((fp1=fopen("putin", "ab+"))==NULL || (fp2=fopen("putout", "ab")) == NULL)//
~
fopen()是一個(gè)文件I/O 里面的函數(shù) 功能是打開一個(gè)文件。
其原型是 FILE *fopen(char *filename,char *mode)
返回值 :正常打開 返回指向文件結(jié)構(gòu)體的指針。
失敗,返回NULL;
要用這個(gè)函數(shù)是首先要定義一個(gè) 文件指針,例
FILE *fp=NULL;
fp=fopen(“./txt”,"r"); 就是以只讀的方式打開當(dāng)前目錄txt這個(gè)文件
第一個(gè)參數(shù)是要打開的文件名
第二個(gè)參數(shù)是:打開模式 r 只讀 , r+ 讀寫, w只寫 ,w+讀寫, a追加, a+
當(dāng)前文章:c語(yǔ)言fopen函數(shù)使用,c語(yǔ)言fopen_s函數(shù)的用法
本文路徑:http://chinadenli.net/article17/dsgjegj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、企業(yè)建站、企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)