c語(yǔ)言中函數(shù)調(diào)用文件路徑,c語(yǔ)言文件路徑的格式

C語(yǔ)言中要讀一個(gè)文件需要文件路徑么

文件不在執(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ǔ)言

c語(yǔ)言 調(diào)用 子目錄中文件里的函數(shù)

一,如果是在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;

}

c語(yǔ)言不同路徑下的.C文件怎么相互函數(shù)調(diào)用

一種方式 是 通過(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).

我初學(xué)c語(yǔ)言,其中initgraph()函數(shù)中的路徑怎么設(shè)置,我把c程序裝在了d:\program files 中,運(yùn)行時(shí)報(bào)錯(cuò)

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)。

C語(yǔ)言中,是否可以調(diào)用其它文件的函數(shù)?

可以調(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命令,這些定義就可被任何源文件使用。

C語(yǔ)言試題 編寫(xiě)一個(gè)獲取文件路徑的函數(shù)

#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)

外貿(mào)網(wǎng)站制作