Чтение текста из файла

240
13 ноября 2017, 21:30

Не могу никак дойти до разумного решения данной проблемы, пытался использовать ifstream, fopen.

       int main()
{
    FILE *fp = NULL;
    char str[3500];
    if ((fp = fopen_s("C:\\Users\\I9609\\source\\repos\\lab5\\eng.txt", "r")) == NULL)
    {
        cout << "Error of opening the file! ";
        exit;
    }
    fgets(str, 3500, fp);
    fclose(fp);
    _getch();
    return 0;
}
Answer 1

Сигнатура функции:

errno_t fopen_s(   
   FILE** pFile,  
   const char *filename,  
   const char *mode   
);  

Первым параметром необходимо передавать указатель на дескриптор файла:

FILE *fp;
errno_t err;
err  = fopen_s( &fp, "filename.txt", "r" );
if( err == 0 ) {  
   printf( "Файл открыт\n" );  
} else {  
   printf( "Ошибка\n" );  
}  

MSDN

Answer 2

"Если ничего не помогает - читай документацию" (с)

А там написано:

errno_t fopen_s(FILE**stream, const char* name. const chhar* mode);

(restrictы опустил.)

Т.е. не

if ((fp = fopen_s("C:\\Users\\I9609\\source\\repos\\lab5\\eng.txt", "r")) == NULL)

а

errno_t err;
FILE * fp;
err = fopen_s(&fp,"C:\\Users\\I9609\\source\\repos\\lab5\\eng.txt","r");
if (err != 0) ....

Но еще лучше в С++ использовать ifstream...

READ ALSO
С++ Как получить вывод и возвращаемое значение команды batch

С++ Как получить вывод и возвращаемое значение команды batch

С помощью system можно получить возвращаемое значениеТакже, команду можно открыть как файл

217
Разница между define и const [дубликат]

Разница между define и const [дубликат]

На данный вопрос уже ответили:

271
Как преобразовать аргумент из std::string в LPCWSTR

Как преобразовать аргумент из std::string в LPCWSTR

Кусок кода для проверки интернет соединения:

804
Что возвращает GetModuleHandle(NULL)

Что возвращает GetModuleHandle(NULL)

Необходимо получить адрес начала PE-заголовка в памятиИспользую данный код:

264