singlepost

ошибка Expression: (str!=NULL) << На главную или назад  

есть программа на си
при отладке выдается ошибка:

programm: d:\visual studio...
File: f:\dd\vctools\crt_bld\self_x68\crt\src\fgets.c
Line: 57
Expression: (str!=NULL)

нужный фрагмент кода выглядит так:

char buff[800];
void main (void)
{
FILE*input;
input=fopen(name,"r");
while(fgets(buff,800,input)>0) poisk();
...

кто-нибудь знает как это можно исправить? подскажите пожалуйста....

8 ответов в теме “ошибка Expression: (str!=NULL)”

  1. 1
    Евгений Гаврин ответил:

    А файл кстати существует?

  2. 2
    Сергей Гурин ответил:

    не помогает, да и при первом вызове этой функции буфер должен иметь размер всего в 21 char…

  3. 3
    Сергей Гурин ответил:

    существует

  4. 4
    Антон Щиров ответил:

    Глупый вопрос – а где определяется и задается значение переменной name?

    И согласно справки на fopen
    ==============
    Return Value
    If the file has been succesfully opened the function will return a pointer to a FILE object that is used to identify the stream on all further operations involving it. Otherwise, a null pointer is returned.
    ==============
    не вижу проверки возвращаемого значения

  5. 5
    Сергей Гурин ответил:

    char name[]="C:\\id.cpp";

    проверку ужесделал, но ничего не поменялось…

  6. 6
    Антон Щиров ответил:

    А если так?

    void main () {
    FILE*input;
    input=fopen(name,"r");
    cout << fgets(buff,800,input);
    cout << "OK";
    fclose(input);
    }

    Т.е. прочитать только одну строку

  7. 7
    Сергей Гурин ответил:

    помогло, спасибо)))

  8. 8
    Михаил Чарушин ответил:

    fgets Return Value
    Each of these functions returns str. NULL is returned to indicate an error or an end-of-file condition
    значит while(fgets(buff,800,input)!=NULL) poisk();

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.