在C语言中如何打开文件夹中的文件

在C语言中如何打开文件夹中的文件,第1张

文件路径 *** 作函数找到源代码所在的文件夹。使用文件 *** 作函数fopen打开源文件即可。

路径 *** 作旦咐函数 chdir。

chdir函数是C语言中的一个系统调用函数(同cd)功 能:更改当前工作目录。参 数:Path 必选。Path 可能包含驱动器。如果山纤未指定驱动器,则当前驱动器上的默认目录或文件夹。返回值:成功返回0 ,失败返回-1

文件 *** 作函数fopen。

函数原型:FILE * fopen(const char * path,const char * mode)返回值:文件顺利打开后,指向该流的文件指逗迟仿针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。

使用fread函数读取指定长度的字符串,即使包含\n也会被读取,可以首先使用fseek定位到文件结尾,然后ftell函数返回的值就是文件的大小,这样就可以用循环多次读取文件,直到读取所有内容

FILE *file = NULL

char szFile[1025] = {0}

int nHadRead = 0

file = fopen( "file.txt", "r+")

if ( file == NULL )

return

fseek( file, 0, SEEK_END )//定位到文件尾芹皮

int nLen = ftell( file )//获取当前位置,即文件长度

fseek( file 0, SEEK_SET )//重新定位到文件开头,准备开始读

while ( nHadRead <nLen )

{

int nRead = nLen - nHadRead >1024 ? 1024 : nLen - nHadRead //如果剩余小于1024字节,则读剩余字节,否则每次读取皮数1024字节。

int nTmp = fread( szFile, 1, nRead , file )

nHadRead += nTmp

printf( "%s", szFile )

memset( szFile, 0x0, sizeof(szFile) )

}

fclose(file)

大致过程就燃首首是这样,纯手打,没有调试过,可能有错

变量用char 型, 不是用 string 类(class).

文件名传入的简单办法是通过位置参数:

void main (int argc, char *argv[]){

char my_path[80],my_name[32], filename[120]

if (argc <3){

printf("Uasge:%s path_string file_name\n",argv[0])

exit(0)

}

strcpy(my_path,argv[1])// 路径

strcpy(my_name,argv[2])// 文件名

sprintf(file_name,"%s\\%s",my_path,my_name)

// 全名 在宽仔 file_name 里

}

运行时打入:

程序名 路径名 文件名

例如:

myprog "C:\\program files\\src" abc.txt

路径御键名镇巧巧用引号是因为路径含空白,若不含空白,可以不要引号.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12218405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存