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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread440673.html
Ребят, нужен алгоритм, а желательно и код для реализации следующей функции: Есть скажем числа от 0 до 7, т.е. 8 (2^3) Теперь взглянем на их представления в разрядной сетке (в дальнейшем будем рассматривать только младшие 3 бита, ибо это есть степень 2 и остальные разряды у этих чисел будут одинаковые): 0 -> 000 1 -> 001 2 -> 010 3 -> 011 4 -> 100 5 -> 101
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 studio использовать не хочет. На fin.seekg(0, ios::end); тоже рукается, типа fin должен быть классом. Можете подсказать, что нужно исправить / подключить, чтоб visual мог работать с такими функциями?
C++ Работа с классами
Составить описание объектного типа TMatr, что обеспечивает размещение матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывод на экран подматрицы любого размера и всей матрицы.
C++ Динамическая матрица http://www.cyberforum.ru/cpp-beginners/thread440623.html
помогите написать 2 проги 1) 2) по критериям: 1)Динамические массивы обязательны 2)работать через адресную арифметику, - запрещены 3)распечатать не только значения но и адреса
C++ Обявление классов Вобщем получалась такая ситуация, есть 2 класса class A { public: SomeMethod( B *param ); } class B { public: SomeMethod( A *param ); } Как указать первому классу что второй обьявлен? Написал перед классом А строку подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4248 / 2780 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
04.02.2012, 15:53     Функция getline не считывает пробелы
Цитата Сообщение от Gooman Посмотреть сообщение
А если убрать строки 51 и 52, то начинает хоть что-то выводиться. Однако выводятся и строки, где есть трехзначные цифры. Что нужно исправить, помогите, пожалуйста
Когда находишь нужную строку, добавь выход из цикла while(), т.е.
C++
1
2
3
4
 else {
   good_str = 1;    // иначе число имеет 2 знака, строка подходит.
   break;
}
иначе строка смотриться дальше и значение good_str скорее всего меняется.
Еще перед просмотром очередного символа проверь, является ли i валидным, т.е. ну будет ли выхода за пределы массива. Если i будет равно strlen(buf)-1, то в условии if(buf[i + 2] ...) будет выход за пределы массива.

Еще нет смысла проверять является ли текущий символ символом '\n', т.к. getline() не записывает его в строку.

Так же советую использовать фигурные скобки во всех if'ах (а так же в for'ах и while'ях). Это придает бОльшую читабельность и позволяет легко редактировать код.
Например в 51 строке создается впечатление, что else относится к if'у из 44 строки, а в действительности из 45ой (хотя это скорее вопрос правильного форматирования кода)
 
Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru