我很高兴在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;
}
热烈欢迎任何帮助。
答案 0 :(得分:1)
您的计划是正确的。如果源文件名为read_file_lbl.c
,请运行以下命令进行编译并从终端运行:
$ gcc -Wall -o read_file_lbl read_file_lbl.c
$ ./read_file_lbl
如果使用gcc read_file_lbl.c
编译程序,编译器会命名可执行文件a.out
,因此尝试运行./read_file_lbl
会失败,因为shell找不到这样的可执行文件。
另请注意,gcc
实际上是指向您环境中clang
的链接。您可以查看:
$ gcc --version