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

Функция getline считывает несколько строк из файла, игнорируя символ новой строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Error C4430: отсутствует спецификатор типа - предполагается int http://www.cyberforum.ru/cpp-beginners/thread678631.html
ребят только начал осваивать азы на C++, и при свое первой программе натыкнулся на такое... Вот собственно мой код #include <stdio.h> main() { int a, b, c; scanf(" %d %d", &a, &b); c=a+b;
C++ Перевод из фарлонгов в ярды Парни, вот программа: #include <iostream> using namespace std; int yardix(int); int main () { int farl; cout<<"Vvedite Farlongu: "; cin>>farl; int yard=yardix(farl); http://www.cyberforum.ru/cpp-beginners/thread678618.html
C++ Найти элементы матрицы С как полсумы соответствующих элементов матриц А и В
задача: Дано матрицы А и В размером 6х6 каждая. Найти элементы матрицы С как полсумы соответствующих элементов матриц А и В. как это полсумы? только это не понятно
C++ Найти в строке количество введенных символов распологающихся между а и b
помогите пожалуйста только начал изучать))не могу полностью понять всего))
C++ Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива http://www.cyberforum.ru/cpp-beginners/thread678587.html
Есть программа #include <iostream> #include <algorithm> const int N = 5; int handSet(void) { int a; std::cout << "Введите число: ";
C++ Программа о принадлежности точки выпуклому многоугольнику Всем привет! Кому не трудно, объясните пожалуйста следующую программу- принадлежит ли точка заданному выпуклому многоугольнику. Очень надо понять ее от начала и до конца(((: #include <iostream> #include <cmath> using namespace std; const double eps = 1e-7; struct point { подробнее

Показать сообщение отдельно
Excogit8er
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 66
23.10.2012, 19:45  [ТС]     Функция getline считывает несколько строк из файла, игнорируя символ новой строки
Цитата Сообщение от ksandro Посмотреть сообщение
длину строки можно определить функцией strlen()

http://cpp.com.ru/shildt_spr_po_c/14/strlen.html


Надо что-то типа
Код
if ((strlen(sublines) > 16) && (sublines[13] == '-') && (sublines[14] == '-') && (sublines[15] == '>'))
Супер! )) Спасибо! Дело именно в этом, что-то я затупил. Ты прав - это действительно не в getline дело, а в том, что в массиве остаются прежние данные. Но только со strlen не получилось - эффект тот же (только что попробовал) - видимо, она возвращает размер всего массива, а он у меня 100 (и, соотвественно, всегда больше 16, точнее даже 5, потому что больше 5 символов - это уже, скорее всего, что-то нужное).

Но пофигу, я по другому сделал - просто перед вызовом функции getline каждый раз перезатираю массив:

C++
1
2
for (int i = 0; sublines[i] < 100; i++)
sublines[i] = '!';
И все стало ок.

Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Только глянул. Мне кажется, дело в самом файле. Это не текстовый файл, а вы с ним работаете, как с текстовым.
Да не, ksandro уже нашел баг, за что ему спасибо
Файл текстовый, пофигу, какое там расширение.

Просто нужно перезатереть массив перед вызовом функии getline и все норм.

тема закрыта, всем ещё раз thanx!
 
Текущее время: 15:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru