文件不在執(zhí)行程序的文件夾內(nèi),就需要完整的文件路徑。在文件夾內(nèi),使用文件名即可。
創(chuàng)新互聯(lián)主營(yíng)阿瓦提網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開(kāi)發(fā),阿瓦提h5成都微信小程序搭建,阿瓦提網(wǎng)站營(yíng)銷(xiāo)推廣歡迎阿瓦提等地區(qū)企業(yè)咨詢(xún)
1、C語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供了一系列文件操作函數(shù)。文件操作函數(shù)一般以f+單詞的形式來(lái)命名(f是file的簡(jiǎn)寫(xiě)),其聲明位于stdio.h頭文件當(dāng)中。
例如:fopen、fclose函數(shù)用于文件打開(kāi)與關(guān)閉;fscanf、fgets函數(shù)用于文件讀??;fprintf、fputs函數(shù)用于文件寫(xiě)入;ftell、fseek函數(shù)用于文件操作位置的獲取與設(shè)置。一般的C語(yǔ)言教程都有文件操作一章。
擴(kuò)展資料:
C語(yǔ)言是一門(mén)面向過(guò)程、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)。C語(yǔ)言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。
盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的C語(yǔ)言程序可在包括一些類(lèi)似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
順序結(jié)構(gòu)的程序雖然能解決計(jì)算、輸出等問(wèn)題,但不能做判斷再選擇。對(duì)于要先做判斷再選擇的問(wèn)題就要使用選擇結(jié)構(gòu)。選擇結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語(yǔ)句出現(xiàn)的物理順序。
選擇結(jié)構(gòu)的程序設(shè)計(jì)方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當(dāng)?shù)倪x擇語(yǔ)句。選擇結(jié)構(gòu)適合于帶有邏輯或關(guān)系比較等條件判斷的計(jì)算,設(shè)計(jì)這類(lèi)程序時(shí)往往都要先繪制其程序流程圖。
然后根據(jù)程序流程寫(xiě)出源程序,這樣做把程序設(shè)計(jì)分析與語(yǔ)言分開(kāi),使得問(wèn)題簡(jiǎn)單化,易于理解。程序流程圖是根據(jù)解題分析所繪制的程序執(zhí)行流程圖。
參考資料來(lái)源:百度百科-C語(yǔ)言
一,如果是在window環(huán)境下,很簡(jiǎn)單,可以用一下方法:
使用stdlib.h頭文件聲明的system()函數(shù)
_CRTIMP int __cdecl system (const char*);
system("dir c:\\ /a:h /b c:\\dir.txt");
調(diào)用系統(tǒng)命令dir,把c:目錄下文件列表寫(xiě)入文件dir.txt中
二,使用dirent.h頭文件中聲明的opendir(),readdir()函數(shù)
示例代碼:
int main(int argc, char *argv[])
{
DIR *directory_pointer;
struct dirent *entry;
if((directory_pointer=opendir("d:\\XL"))==NULL)
printf( "Error opening \n ");
else
{
while((entry=readdir(directory_pointer))!=NULL)
{
printf("%s\n",entry- d_name);
}
closedir(directory_pointer);
}
system("PAUSE");
return 0;
}
三,如果沒(méi)有dirent.h,可以使用io.h頭文件中聲明的_findfirst(),_findnext()函數(shù)
示例代碼:
int main(int argc, char *argv[])
{
long file;
struct _finddata_t find;
_chdir("d:\\");
if((file=_findfirst("*.*", find))==-1L)
{
printf("空白!\n");
exit(0);
}
printf("%s\n", find.name);
while(_findnext(file, find)==0)
{
printf("%s\n", find.name);
}
_findclose(file);
system("PAUSE");
return 0;
}
一種方式 是 通過(guò) 環(huán)境變量 INCLUDE, PATH, LIB 里的設(shè)置,編譯器 會(huì)到 那里去找。
用雙引號(hào)括起的方法 寫(xiě) 包含 文件名字 可以 帶 詳細(xì)的 路徑。
例如:
#include "..\\DataBase\\include\\db.h"
例如:
#include "C:\\users\\public\\C\\LIB\\dbb.c"
路徑寫(xiě)法 要符合自己用的操作系統(tǒng).
int gdriver, gmode;
detectgraph(gdriver, gmode); /*自動(dòng)測(cè)試硬件*/
printf("the graphics driver is %d, mode is %d\n", gdriver,
gmode); /*輸出測(cè)試結(jié)果*/
getch();
initgraph(gdriver, gmode, "c:\\tc");
你可以試試看。問(wèn)題在于初始化上。你沒(méi)有設(shè)定初始化的種類(lèi)。
可以調(diào)用。
一、從一個(gè)源文件里調(diào)用另一個(gè)源文件的函數(shù)。在源文件A1.c中調(diào)用A2.c 中的函數(shù)有兩種方法:
1、在A2.c中有完整的函數(shù)定義,在A1.c中添加一下要用到的函數(shù)原型(聲明)就可以了,例如:
在A2.c中:有函數(shù)void A2(){...};。
在A1.c中:在文件前頭增加一行:void A2();就可以了。
2、把A2.c中完整定義的函數(shù)的原型,寫(xiě)到一個(gè)A2.h文件中,然后在A1.c的文件頭增加#include "A2.h"就可以了。
以上兩種方法,在A1.c中都可以正常的調(diào)用,就跟在A2.c中調(diào)用一樣。
其實(shí)函數(shù)默認(rèn)是外部的,只要在其他文件中聲明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件調(diào)用。
二、編寫(xiě)頭文件:
1、一個(gè).h文件要 對(duì)應(yīng)有一個(gè).c文件,這樣鏈接器就可以調(diào)用這個(gè)文件里的函數(shù)。比如a.h 和 a.c。
在.h文件中:
#ifndef __A_H_
#define __A_H_
#includestdio.h
void trans2(double B) ;
double trans1() ;
#endif
2、把相應(yīng)的函數(shù)定義寫(xiě)在.c文件中。這里要強(qiáng)調(diào)一點(diǎn):要加上#include ".h",這個(gè)一般作為一種工程規(guī)范。因?yàn)槿绻?c文件中的函數(shù)也需要調(diào)用同個(gè).c中的其它函數(shù),那么這個(gè).
c往往會(huì)include對(duì)應(yīng)的.h,這樣就不需要為聲明和調(diào)用順序而發(fā)愁了。比如頭文件里進(jìn)行了變量的聲明,這個(gè)時(shí)候?qū)?yīng)的.c文件是一定要加上這個(gè)頭文件的。
3、再在其他的main.c文件開(kāi)頭添加#include "a.h"。
擴(kuò)展資料:
include用法:
#include命令預(yù)處理命令的一種,預(yù)處理命令可以將別的源代碼內(nèi)容插入到所指定的位置;可以標(biāo)識(shí)出只有在特定條件下才會(huì)被編譯的某一段程序代碼;可以定義類(lèi)似標(biāo)識(shí)符功能的宏,在編譯時(shí),預(yù)處理器會(huì)用別的文本取代該宏。
插入頭文件的內(nèi)容
#include命令告訴預(yù)處理器將指定頭文件的內(nèi)容插入到預(yù)處理器命令的相應(yīng)位置。有兩種方式可以指定插入頭文件:
1、#include文件名
2、#include"文件名"
如果需要包含標(biāo)準(zhǔn)庫(kù)頭文件或者實(shí)現(xiàn)版本所提供的頭文件,應(yīng)該使用第一種格式。如下例所示:
#includemath.h//一些數(shù)學(xué)函數(shù)的原型,以及相關(guān)的類(lèi)型和宏
如果需要包含針對(duì)程序所開(kāi)發(fā)的源文件,則應(yīng)該使用第二種格式。
采用#include命令所插入的文件,通常文件擴(kuò)展名是.h,文件包括函數(shù)原型、宏定義和類(lèi)型定義。只要使用#include命令,這些定義就可被任何源文件使用。
#include stdio.h
main()
{
char str[80]="d:\\files\\dataFiles\\data\\avatar.bmp"; // 單斜杠處填雙斜杠
int L,i;
L = strlen(str);
for (i=L-1;i=0;i--) if (str[i] == '\\') { str[i] ='\0'; break;}; // 去掉文件名就是路徑
printf("Path= %s",str);
return 0;
}
-----------
寫(xiě)成函數(shù)和調(diào)用:
#include stdio.h
void fun(char *str){
int L,i;
L = strlen(str);
for (i=L-1;i=0;i--) if (str[i] == '\\') { str[i] ='\0'; break;};
}
main()
{
char str[80]="d:\\files\\dataFiles\\data\\avatar.bmp";
fun(str);
printf("Path= %s",str);
return 0;
}
分享題目:c語(yǔ)言中函數(shù)調(diào)用文件路徑,c語(yǔ)言文件路徑的格式
分享路徑:http://muchs.cn/article18/hschdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、定制網(wǎng)站、網(wǎng)站策劃、微信公眾號(hào)、、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容