2016-03-22 2 views
-5

Привет, я отключил эту ошибку, но я не уверен, как ее исправить. По-видимому, эта строка кода (язык C):Строка кода «Parse» не позволяет выполнять код

parse (getenv («QUERY_STRING»));

Он успешно компилируется, однако при запуске исполняемого файла следующие всплывает: puu.sh/nQi41/40e81c4494.png

Когда я просто закомментируйте конкретную линию, код компилируется и Руны отлично.

Любые возможные решения этого? Заранее спасибо

+2

Можете ли вы предоставить более привлекательный код, пожалуйста, чтобы дать некоторый контекст. –

+0

попробуйте присвоить getenv («QUERY_STRING») ранее объявленному символу char * и сообщить нам, что он содержит (путем его печати или вашего отладчика). Кроме того, что делает функция синтаксического анализа? –

+1

'getenv', скорее всего, возвращает' NULL', и вы не проверяете. Вы всегда должны проверять возвращаемые значения функций! –

ответ

1

Заменить:

parse(getenv("QUERY_STRING")); 

по:

char *querystring = getenv("QUERY_STRING"); 

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

parse(querystring); 

... и читать documentation of getenv.

+0

Это действительно исправить, спасибо. Прошу прощения за то, что я так сильно дергаюсь, на данный момент я действительно ослеплен относительно getenv. Хорошего дня :) – EdgarC

Смежные вопросы