c語(yǔ)言獲取當(dāng)前路徑函數(shù) c語(yǔ)言獲取當(dāng)前路徑函數(shù)怎么寫(xiě)

C語(yǔ)言 如何取得當(dāng)前可執(zhí)行程序所在的路徑

一般默認(rèn)的目錄是和你所遍的程序在同一個(gè)目錄里如果你想改,那么只要在使用fopen函數(shù)的時(shí)候輸入目錄地址就可以了要注意的是一旦你這個(gè)程序生成了exe在脫離編譯器運(yùn)行的時(shí)你所定的目錄就不能改變了也就是說(shuō)你自能在寫(xiě)程序時(shí)定義一次目標(biāo)文件的路徑

目前創(chuàng)新互聯(lián)建站已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、汪清網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Windows下怎么用C語(yǔ)言獲取正在運(yùn)行的程序的路徑

很簡(jiǎn)單:

API函數(shù):

GetModuleFileName(模塊句柄,保存的字符數(shù)組,字符數(shù)組的大小);

一般來(lái)說(shuō),要獲取正在運(yùn)行程序的全路徑,那就在第一個(gè)參數(shù)寫(xiě)個(gè)0

參數(shù)2是保存的數(shù)組,獲取的路徑將保存在這個(gè)數(shù)組

參數(shù)三是字符數(shù)組的大小

給你一個(gè)示例程序:

#include windows.h

#include stdio.h

void main()

{

char ExePlace[1024];/*保存地址的數(shù)組/

GetModuleFileName(0,ExePlace,1024);/*獲取當(dāng)前運(yùn)行全路徑*/

puts(ExePlace);/*輸出獲取到的路徑*/

}

VC環(huán)境中用C語(yǔ)言查找當(dāng)前路徑下的所有文件和文件夾的函數(shù)是什么?

這是我的TFTP程序中的一個(gè)函數(shù),是搜索當(dāng)前盤(pán)符下的所有文件,包括文件的大小,并發(fā)送到客戶端,其中就有查找當(dāng)前路徑下的文件,你自己挑一下,應(yīng)該能完成你的需求。

void FileList(sockaddr_in sour_addr,char strStartDir[])

{

char sendbuffer[1024];

sockaddr_in destaddr;

int sourlen = 0;

int ret = 0;

int len = 0;

int flen = 0;

fd_set fdr;

unsigned short blocknum = 0;

FILE *file;

char filename[128];

strcpy(filename,strStartDir+2); /*獲取文件名*/

strcat(filename,"\\*");

destaddr.sin_family = AF_INET;

destaddr.sin_port = sour_addr.sin_port;

destaddr.sin_addr.s_addr = inet_addr(desthost);//

WIN32_FIND_DATA FindFileData;

HANDLE hFind;

hFind = FindFirstFile(filename, FindFileData);

if (hFind == INVALID_HANDLE_VALUE)

{

printf ("Invalid File Handle");

}

else

{

while(FindNextFile(hFind,FindFileData))

{

printf(FindFileData.cFileName);

printf("\r\n");

memset(sendbuffer,'\0',1024);

len = filldata(blocknum++,FindFileData.cFileName,strlen(FindFileData.cFileName),sendbuffer,sizeof(sendbuffer));

ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)destaddr,sizeof(destaddr));

}

len = fillover(blocknum,"Over",4,sendbuffer,sizeof(sendbuffer));

ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)destaddr,sizeof(destaddr));

FindClose(hFind);

return;

}

}

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;

}

網(wǎng)頁(yè)名稱:c語(yǔ)言獲取當(dāng)前路徑函數(shù) c語(yǔ)言獲取當(dāng)前路徑函數(shù)怎么寫(xiě)
地址分享:http://muchs.cn/article8/ddcdeop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、外貿(mào)建站云服務(wù)器、網(wǎng)站排名、品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(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)

搜索引擎優(yōu)化