Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何从本地目录路径读取文件_C - Fatal编程技术网

C 如何从本地目录路径读取文件

C 如何从本地目录路径读取文件,c,C,我有一个函数,它读取文件并执行转换部分 fp=fopen("newfile.txt","r"); 在这里,我在项目文件中复制了这个newfile.txt,并在VC++2008 IDE中编译。它运行良好 我想从本地驱动器目录路径读取文件。是否可以从本地驱动器读取文件。如何提及路径。如果可以,请提及任何示例 如果我想在不更改上述代码中文本文件的名称的情况下读取该特定文件夹中的所有文件,还有一件事。建议我做什么事 我不想手动更改代码中的文件名您可以使用文件的绝对路径: FILE* fp = fope

我有一个函数,它读取文件并执行转换部分

fp=fopen("newfile.txt","r");
在这里,我在项目文件中复制了这个newfile.txt,并在VC++2008 IDE中编译。它运行良好

我想从本地驱动器目录路径读取文件。是否可以从本地驱动器读取文件。如何提及路径。如果可以,请提及任何示例

如果我想在不更改上述代码中文本文件的名称的情况下读取该特定文件夹中的所有文件,还有一件事。建议我做什么事


我不想手动更改代码中的文件名

您可以使用文件的绝对路径:

FILE* fp = fopen("c:\\your_dir\\your_file.txt", "r");
if(fp) {
   // do something
   fclose(fp);
}
或者相对路径,假设文件位于
c:/etc
中,可执行文件位于
c:/etc/executables

FILE* fp = fopen("..\\your_file.txt", "r");
if(fp) {
   // do something
   fclose(fp);
}

您可以使用文件的绝对路径:

FILE* fp = fopen("c:\\your_dir\\your_file.txt", "r");
if(fp) {
   // do something
   fclose(fp);
}
或者相对路径,假设文件位于
c:/etc
中,可执行文件位于
c:/etc/executables

FILE* fp = fopen("..\\your_file.txt", "r");
if(fp) {
   // do something
   fclose(fp);
}

我想你们可以使用第一个程序参数。它是一个包含可执行文件路径的字符串。您可以使用
intmain(intargc,char*args[])
而不是
intmain()
来访问它。args[0]包含您需要的内容。只需获取它的子字符串,以获取路径并将其与文件名连接。

我认为可以使用第一个程序参数。它是一个包含可执行文件路径的字符串。您可以使用
intmain(intargc,char*args[])
而不是
intmain()
来访问它。args[0]包含您需要的内容。只需获取它的一个子字符串,即可获得路径并将其与文件名连接起来。

fp=fopen(“K:/path/to/source/newfile.txt”,“r”)
fp=fopen(“K:\\path\\to\\source\\newfile.txt”,“r”)
如果不想更改代码中的名称,那么应该编写代码,以便将传递给fopen的路径作为参数。硬编码字符串是一种不好的做法,这是原因之一。@pmg谢谢。。通过提及目录路径和文件名.txt可以很好地工作。但我想问你的是,在代码中不更改newfile.txt。我如何访问上述路径中的所有文件并处理路径目录中所有文件的转换。你不能。如果不更改名称,则无法打开任何名称不同的文件,尽管您可以在不同的目录中打开多个名为
“newfile.txt”
的文件。在POSIX系统中,您可以在打开文件之前尝试。。。或者,和。在Windows上(如果POSIX函数在那里不起作用),您有。。。或者和朋友(
FindNextFile()
FindClose()
)。
fp=fopen(“K:/path/to/source/newfile.txt”,“r”)
fp=fopen(“K:\\path\\to\\source\\newfile.txt”,“r”)
如果不想更改代码中的名称,那么应该编写代码,以便将传递给fopen的路径作为参数。硬编码字符串是一种不好的做法,这是原因之一。@pmg谢谢。。通过提及目录路径和文件名.txt可以很好地工作。但我想问你的是,在代码中不更改newfile.txt。我如何访问上述路径中的所有文件并处理路径目录中所有文件的转换。你不能。如果不更改名称,则无法打开任何名称不同的文件,尽管您可以在不同的目录中打开多个名为
“newfile.txt”
的文件。在POSIX系统中,您可以在打开文件之前尝试。。。或者,和。在Windows上(如果POSIX函数在那里不起作用),您有。。。或者和朋友(
FindNextFile()
FindClose()
)。