本文目录一览:
- 1、C语言里怎么调用当前目录下的子目录里面的文件啊?system(“./ab/file.exe”)这个不好使啊!
- 2、c语言不同路径下的.C文件怎么相互函数调用
- 3、C语言打开其他目录下的文本文件
- 4、C语言怎么读取某一文件夹下的所有文件夹和文件?
- 5、C语言中如何引用其它C源文件中的函数?
- 6、C语言如何读取指定路径下的所有指定格式的文件?
C语言里怎么调用当前目录下的子目录里面的文件啊?system(“./ab/file.exe”)这个不好使啊!
如果是当前目录,不需要写路径,只写文件名就可以:"file.exe”
如果需要写路径,其中的斜线需要双写:"d:\\data\\file.exe"
斜线应该是左高右低
c语言不同路径下的.C文件怎么相互函数调用
一种方式 是 通过 环境变量 INCLUDE, PATH, LIB 里的设置,编译器 会到 那里去找。
用双引号括起的方法 写 包含 文件名字 可以 带 详细的 路径。
例如:
#include "..\\DataBase\\include\\db.h"
例如:
#include "C:\\users\\public\\C\\LIB\\dbb.c"
路径写法 要符合自己用的操作系统.
C语言打开其他目录下的文本文件
"H:\C++\Test\fopen_s2\Debug\test.txt\\"
\是转义字符,所以要用 \\
最后不需要加\\
正确定写法
"H:\\C++\\Test\\fopen_s2\\Debug\\test.txt"
C语言怎么读取某一文件夹下的所有文件夹和文件?
读取的代码方式如下:
int main()
{
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);
return 0;
}
用C语言读取目录中的文件名的方法:
1、如果是在window环境下,可以用一下方法:
使用stdlib.h头文件声明的system()函数,调用系统命令dir,把c:目录下文件列表写入文件dir.txt中
2、使用dirent.h头文件中声明的opendir(),readdir()函数;
3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数:
C语言中如何引用其它C源文件中的函数?
在源文件A1.c中调用A2.c 中的函数有两种方法:
1、在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:
在A2.c中:有函数void A2(){...};。
在A1.c中:在文件前头增加一行:void A2();就可以了。
2、把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了。
以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。
其实函数默认是外部的,只要在其他文件中声明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件调用。
扩展资料:
1、一个.h文件要 对应有一个.c文件,这样链接器就可以调用这个文件里的函数。比如a.h 和 a.c。
2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.c往往会include对应的.h。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。
3、再在其他的main.c文件开头添加#include "a.h"。
C语言如何读取指定路径下的所有指定格式的文件?
用C语言读取目录中的文件名的方法:
1、如果是在window环境下,可以用一下方法:
使用stdlib.h头文件声明的system()函数
_CRTIMP int __cdecl system (const char*);
system("dir c:\\ /a:h /b c:\\dir.txt");
调用系统命令dir,把c:目录下文件列表写入文件dir.txt中
2、使用dirent.h头文件中声明的opendir(),readdir()函数;
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;
}
3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数;
示例代码:
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;
}