Note that there are some explanatory texts on larger screens.

plurals
  1. POsh: 1: Syntax error: "(" unexpected with a C file
    text
    copied!<p>I'm getting a confusing error message. I'm running MinGW on Windows XP 32-bit. When I attempt to compile the following code, I get an error message "./hello.c: line 4: Syntax error near unexpected token '('". Line 4 is at int main(...), I can't figure out what unexpected token is "near '('". I've tried using int main(void), but I get the same message. However, if I compile it without the "char string..." and "data = fputs(...)" and have it read from a given text file, it compiles without issue.</p> <p>What I'm trying to accomplish is to read from a file where the filename is given by an external source, i.e. php. Eventually I'm going to be working this into an Apache module with a parser that I've made, hence the call from php, but I wanted to fool around and build some template code to work with before I got to that part.</p> <pre><code>#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main (void) { FILE *fp; //char string = "JD"; commented out char data; //printf("Type in your filename: "); also commented out //scanf("%s", &amp;argv); also commented out if(argc &gt;= 2) { fp = fopen("sample.txt", "r"); //switched to reading a given file } while((data = getchar()) != EOF) { fgets(data, sizeof(data), fp); // data = fputs(string, fp); } if (fp==NULL) /* error opening file returns NULL */ { printf("Could not open player file!\n"); /* error message */ return 1; /* exit with failure */ } /* while we're not at end of file */ while (fgets(data, sizeof(string), fp) != NULL) { printf(data); /* print the string */ } fclose(fp); /* close the file */ return 0; /* success */ } </code></pre> <p>Okay, I tried writing a simple "Hello World" program, but I'm still getting the same error message with it which makes me think the error message isn't being caused by my code at all.</p> <pre><code>#include &lt;stdio.h&gt; int main(void) //still getting a syntax error before unexpected token '(' { printf("Hello, world!"); return 0; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload