Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Функция getline не считывает пробелы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread440673.html
Ребят, нужен алгоритм, а желательно и код для реализации следующей функции: Есть скажем числа от 0 до 7, т.е. 8 (2^3) Теперь взглянем на их представления в разрядной сетке (в дальнейшем будем...
C++ Не правильно работает 1 из счетчиков Помогите, не правильно считает счетчик nw, в упор не понимаю по чему... #include <conio.h> #include <stdio.h> #define eof -1 #define yes 1 #define no 0 int main() { http://www.cyberforum.ru/cpp-beginners/thread440640.html
C++ Вопрос по работе с файлами в Visual Studio
Написал программу для работы с файлом в Visual Studio. Iostream подключил. Но такие вот привычные записи, как, например, ifstream fin("c:\\projects\\text1.txt", ios::in | ios::nocreate); visual...
C++ Перевести код с Pascal
procedure Max_el_matr; label 1; begin max_el:=A; p:=2; q:=1; for i:=2 to RazmMatr do begin for j:=1 to razmmatr do begin
C++ Работа с классами http://www.cyberforum.ru/cpp-beginners/thread440624.html
Составить описание объектного типа TMatr, что обеспечивает размещение матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывод на экран подматрицы любого размера и всей...
C++ Динамическая матрица помогите написать 2 проги 1) 2) по критериям: 1)Динамические массивы обязательны 2)работать через адресную арифметику, - запрещены 3)распечатать не только значения но и адреса подробнее

Показать сообщение отдельно
Gooman
10 / 10 / 0
Регистрация: 03.10.2010
Сообщений: 350
04.02.2012, 17:57  [ТС]
В общем, я вот так написал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
while (!fin.eof())      // пока не конец файла
    {
        good_str = 0;
        i = 0;
        cout<<endl;
        fin.getline(buf, 255, lim = '\n');  // считать одну строку
        while (buf[i])  // рассмотреть каждый символ этой строки 
        { 
            if (isdigit(buf[i]))        // если текущее число - цифра
                //if (isdigit(buf[i+1]) && (i+1) <= 255)    // если последующий символ тоже цифра
                if (isdigit(buf[i+1]))
                    //if (!isdigit(buf[i+2]) && (i+2) <= 255)
                    if (!isdigit(buf[i+2]))
                    {
                        good_str = 1;
                        break;
                    }
                    else 
                    {
                        good_str = 0;
                    }
            i++;
        } 
        if (good_str)
        {
           cout << buf << endl;
           //fout << buf << endl;
        }
    }
Но оно выводит и строки, где есть только трехзначные и более числа.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru