Работа С Файлом, Проблемка

Тема в разделе "Общие вопросы по С и С++", создана пользователем Wolfises, 24 окт 2011.

  1. Wolfises

    Wolfises Member

    Регистрация:
    5 апр 2009
    Сообщения:
    14
    Симпатии:
    0
    Здравствуйте, прошу прощение, если подобные вопросы уже были на форуме(беглый взгляд не обнаружил)
    я считываю в С++ (MS Visual Studio 2005) посимвольно с помощью getline символы, проблема возникает в конце строки
    фаил "test.txt" содержит следующие данные
    cos
    12 33.025 55.23 1.01
    в шестнадцатеричной системе:
    00000000: 63 6F 73 20 20 20 20 20 20 20 20 20 20 0D ОA 31 | COS ..1
    00000010: 32 20 33 33 2Е 30 32 35 20 20 35 35 2Е 32 33 20 | 2 33.025 55.23
    00000020: 31 2Е 30 31 20 20 20 20 20 20 20 20 20 20 20 20 | 1.01
    00000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
    00000040: 20 20
    Код (Text):
    //...
    ifstream file("test.txt");
    if (!(file))
    {
    cout<<"Error, File can not open";
    return 1;  
    }
    file >> ch; // string ch;
    double k;
    char str;
    ofstream file_out("test_result.txt", ios::trunc); //в данном случае не важно
    file_out << ch << '\n'; // не важно
    while (!(file.eof()))
    {
    file.getline( &str , 1 );
    if (str=='\0') continue; // при добавлении этой строки образуется бесконечный цикл
    //я не уверен, но вроде '\0' обозначает конец строки, исправте если не так пожалуйста
    if ((str=='\n') || (str == ' ')) continue;
    if ( !( (str=='+') || (str=='-') || ( (str>='0') && (str<='9') ) ) )
    {
    cout << "Error data, Invalid symbol\n";
    return 0;
    }
    // ...
    вот, по сути я просто хочу считывать числа типа double, вот запутался... может дадите совет как обойти эту проблемку :)
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    чтобы считывать по 1 символу используй get()
     
  3. Wolfises

    Wolfises Member

    Регистрация:
    5 апр 2009
    Сообщения:
    14
    Симпатии:
    0
    Спасибо, все получилось :gigi:
     
Загрузка...
Похожие Темы - Работа Файлом Проблемка
  1. garri671
    Ответов:
    0
    Просмотров:
    50
  2. Novice
    Ответов:
    0
    Просмотров:
    1.009
  3. studentrtf
    Ответов:
    1
    Просмотров:
    1.565
  4. alekssgor
    Ответов:
    0
    Просмотров:
    2.405
  5. KiR
    Ответов:
    9
    Просмотров:
    5.747

Поделиться этой страницей