【发布时间】:2017-06-22 18:39:55
【问题描述】:
我不熟悉在 Mac 上使用终端来使用 GNU C。
我使用了一段标准代码逐行读取文件并通过“file.txt”引用文件。
我可以编译源代码,但是当我执行代码时找不到 file.txt。我已将该文件与源文件和可执行文件放在同一目录中。我应该添加一个完整的目录路径。我试过了:-
"/Users/Swiss/documents/swdev/projects/code_ex/file.txt"
但这会出现与仅使用“file.txt”相同的错误。
我得到的错误是:-
-bash: ./read_file.lbl: 没有这样的文件或目录
我假设它是它找不到的 file.txt - 还是别的什么?
代码是:-
#include <stdio.h>
int main ( void )
{
static const char filename[] = "/Users/Swiss/documents/swdev/projects/code_ex/file.txt";
FILE *file = fopen ( filename, "r" );
if ( file != NULL )
{
char line [ 128 ]; /* or other suitable maximum line size */
while ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
{
fputs ( line, stdout ); /* write the line */
}
fclose ( file );
}
else
{
perror ( filename ); /* why didn't the file open? */
}
return 0;
}
我们将热烈欢迎任何帮助。
【问题讨论】:
-
你的代码在哪里?请edit您的问题并提供minimal reproducible example。
-
请发布您的代码。
-
您发布的错误消息说它找不到 read_file.lbl,而不是 file.txt。你究竟是如何运行你编译的程序的?
-
@SwissT 名称“read_file.lbl”从何而来?也请回答 dbush' 的问题,你是如何运行的应该由你复制粘贴你正在运行的命令来回答。 (你还应该向我们展示你是如何编译/链接你的程序的)
-
@SwissT 请编辑您的问题并告诉我们以下内容:C 源文件的确切名称(例如
myprog.c)、您为编译程序而启动的命令(例如gcc myprog.c),以及最后是您键入以启动程序的命令(例如./a.out)。