2013-03-07 72 views
0

嗨有人可以幫我解決這個錯誤嗎? 我得到的錯誤是:錯誤使用fgets()

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蝕。

#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"); 


} 
+1

這聽起來像是管理你的構建過程是完全破碎的;這是完全廢話:'g ++ -o「編程Cpt220」./fgets()exampleFromTheNet.o' – 2013-03-07 00:55:56

+2

嗯,你是否在你的源文件的名稱中放入括號? – Dave 2013-03-07 00:56:34

回答

0

它看起來像是期待在您的文件名中有一個「()」,它正在查殺您正在運行的shell腳本。

5

從C文件的文件名中刪除()

fgets()exampleFromTheNet.c - >fgetsExampleFromTheNet.c

()bash和另一個外殼特殊的含義。因此建議避免在文件名中包含任何特殊字符。

+0

好吧,我已經刪除了括號,它運行。 – 2013-03-07 04:39:41