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

Построчное чтение из файла, в токором первая строка пустая - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму элементов массива с четными номерами http://www.cyberforum.ru/cpp-beginners/thread1068605.html
Доброго времени суток! У меня есть готовая и рабочая программа, но мне нужно её выполнить в виде функций (Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.). Прочитав про функции в самоучителе, толком про них ничего не понял, и уж тем более, что нужно сделать мне тут. Что делает программа: 1)...
C++ Класс даты Обязательные ограничения Реализовать в виде класса тип Даты Разность дат(в днях) *Минимум одна перегрузка *перегрузка операций потокового ввода и вывода для обьектов этого класса или определение соответствующих методов ввода/вывода значений объектов класса *Конструктор и деструктор http://www.cyberforum.ru/cpp-beginners/thread1068599.html
C++ execlp error
Вот код который работает, но не видит параметры (p2): if((execlp(p1, p2, NULL)) < 0) { perror("exec"); exit(EXIT_FAILURE); } Вот что выводит: leha
Составьте программу bmall.c, осуществляющую поиск всех вхождений подстроки S в строку T C++
Составьте программу bmall.c, осуществляющую поиск всех вхождений подстроки S в строку T. В программе должен быть реализован алгоритм Бойера-Мура, изменённый таким образом, чтобы при нахождении очередного вхождения S в T алгоритм не завершался, а продолжал сканировать строку T. алгоритм накопал: int BMsearch(char* str, const char* word) { int N=strlen(str); int M=strlen(word); ...
C++ Числа в массиве, в целую переменную http://www.cyberforum.ru/cpp-beginners/thread1068575.html
Здравствуйте, возник вопрос: Допустим у меня существует массив a = 1 a = 3 a = 6 Их нельзя соединить в 1 переменную, например чтобы переменная получилась равна 136?
C++ Написать программу которая будет собирать информацию о расходных материалах сетевых принтеров серии XEROX WorkCentr серии 5225 и 5325 Программа должна работать с ип адресами сетевых принтеров, и получать информацию о расходных материалах для каждого из них и выводить все в таблицу. Если кто сможет это написать соответственно все будет на материальной основе. Очень нужна для диплома. Добавлено через 5 минут Возможно ли это вообще сделать? подробнее

Показать сообщение отдельно
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 259
11.01.2014, 21:13  [ТС]     Построчное чтение из файла, в токором первая строка пустая
Спасибо, заработало, буду разбираться. Код я из интернета давно брал, честно говоря, первые 2 строчки плохо понимаю, но работало и я не стал трогать. А сейчас решил переделать в общем виде, чтобы не задавать количество столбцов и чтобы пустые строки не влияли.

Добавлено через 1 час 37 минут
И еще вопрос, в данном варианте при считывании всех элементов in>>ch; (или попытке считать еще больше) "изменяет состояние потока", действительно, помогает in.clear(). НО. Раньше у меня использовался другой способ доставания строк из файла:
C++
1
2
3
4
  char str[400];
  FILE* f= fopen("qwe.txt", "r");
  fgets(str, 399, f);
  in.str(str);
В этом случае при считывании количества элементов, действительно находящихся в строке, состояние потока не меняется (при попытке считать дольше- меняется). Почему так происходит? Есть разница в том что отправлять в in.str(str);- string или массив из char? Просто последний вариант у меня много где используется (и как-то не замечал, чтобы он работал неправильно), не хочется потом внезапно нарваться на неприятности.

Добавлено через 11 минут
Сумбурно написано, резюмируя: почему если в in.str(str); str - типа string, то при чтении всех элементов из строки состояние потока меняется, а если str- массив из char, то не меняется?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru