На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> EOF срабатывает раньше???
    Это программка для вывода *.txt файла на экран:


    #include "stdafx.h"
    #include <iostream.h>
    #include <string.h>
    #include <stdio.h>

    #define star "c:\\1.txt\0"



    int main(int argc, char* argv[])
    {
    char file_star[20] = star;
    FILE *fl_star;
    char k;
    fl_star = fopen(file_star,"r");
    if(!fl_star)
    {
    cout<<"Файл не найден";
    return 0;
    }

    while((k = getc(fl_star)) != EOF)
    {
    cout <<k;
    }

    fclose(fl_star);
    return 0;
    }


    НО!!!
    когда я создал 1.txt и занес туда вот эти строки:

    @T031,"PointBack",
    @T032,"Точка",
    @T033,"Tакая функция ?",
    @T035,"Position Back Continue",
    @T036,"\nСравнение деталей закончено. ",

    томоя программа читает ТОЛЬКО ПОЛОВИНУ и до конца не доходит

    Кто знает в чем может быть проблема подскажите.
      Она доходит до буквы 'я'. У нее код 0xff, при знаковом расширении в выражении k = getc(fl_star) получается EOF :)
      Замените char k на int k и cout<<k на cout<<(char)k
      Сообщение отредактировано: trainer -
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0175 ]   [ 16 queries used ]   [ Generated: 2.05.24, 05:47 GMT ]