0

嗨,有人可以帮我解决这个错误吗?我得到的错误是:

Building target: Programming Cpt220
/bin/sh: -c: line 0: syntax error near unexpected token `('
Invoking: MacOS X C++ Linker
/bin/sh: -c: line 0: `g++  -o "Programming Cpt220"  ./fgets()exampleFromTheNet.o   '
make: *** [Programming Cpt220] Error 2
g++  -o "Programming Cpt220"  ./fgets()exampleFromTheNet.o 

我不确定为什么 ist 要求 g++ -o 我在 Mac 上使用 eclipse。

#include <stdio.h>
#include <stdlib.h>

#define  MAX_LEN  100

int main(void)
{
   FILE *stream;
   char line[MAX_LEN], *result;

   stream = fopen("myfile.dat","r");

   if ((result = fgets(line,MAX_LEN,stream)) != NULL)
       printf("The string is %s\n", result);

   if (fclose(stream))
       printf("fclose error\n");


}
4

2 回答 2

5

()从 C 文件的文件名中删除。

fgets()exampleFromTheNet.c->fgetsExampleFromTheNet.c

()bash在和其他贝壳中具有特殊含义。因此,建议避免在文件名中包含任何特殊字符。

于 2013-03-07T00:57:15.403 回答
0

看起来它期望在您的文件名中有一个“()”,这会杀死您正在运行的 shell 脚本。

于 2013-03-07T00:56:19.670 回答