2016-03-22 12 views
-5

Prost, ich habe den Fehler isoliert, aber ich bin mir nicht sicher, wie es zu beheben ist. Anscheinend ist diese Codezeile (Sprache C):"Parse" Codezeile lässt Code nicht ausführen

parse (getenv ("QUERY_STRING")); jedoch

Es ist erfolgreich zu kompilieren, wenn ich die ausführbare Datei die folgenden erscheint laufen: puu.sh/nQi41/40e81c4494.png

Wenn ich einfach einen Kommentar, dass bestimmte Zeile, wird der Code kompiliert und Runen perfekt.

Mögliche Lösungen hierfür? Vielen Dank im Voraus

+2

Können Sie bitte mehr Umgebungscode angeben, um einen Kontext zu geben. –

+0

Versuchen Sie, getenv ("QUERY_STRING") einem zuvor deklarierten char * zuzuordnen und sagen Sie uns, was es enthält (entweder durch Drucken oder mit Ihrem Debugger). Was macht die Parse-Funktion? –

+1

'getenv' wird höchstwahrscheinlich' NULL' zurückgeben, und Sie überprüfen nicht. Sie sollten immer die Rückgabewerte von Funktionen überprüfen! –

Antwort

1

ersetzen:

parse(getenv("QUERY_STRING")); 

von:

char *querystring = getenv("QUERY_STRING"); 

if (querystring == NULL) 
{ 
    printf("Could not get querystring"); 
    exit(1);  
} 

parse(querystring); 

... und lesen Sie die documentation of getenv.

+0

Das hat es tatsächlich repariert, danke. Es tut mir leid, dass ich so ein Hemmschuh bin. Ich bin wirklich blind, was getenv angeht. Einen schönen Tag noch :) – EdgarC