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

Помогите с getline - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс матрица Данный класс содержит http://www.cyberforum.ru/cpp-beginners/thread384515.html
Создать класс матрица Данный класс содержит указатель на long, размер строк и столбцов и состояние ошибки. Определить конструктор без параметров, конструктор с одним параметром и конструктор с двумя параметрами, деструктор. Определить методы доступа: возвращать значение элемента (i,j) и адрес этого элемента. Определить функцию печати. Определить функции сложения и вычитания (матрицы с матрицей),...
C++ Ceмма чётных и нечётных чисел Вычислить сумму чётных и сумму не чётных чисел натурального ряда то 1 до n. Вот что получается. Программа работает, но не верно. int main() {int n, s1=0, s2=0; cin >> n; for (int i=1; i<=n; ++i) if (i / 2) s1 = s1 + i; http://www.cyberforum.ru/cpp-beginners/thread384506.html
C++ помогите с snmp
Привет всем, Использую библиотеку snmp.h, пишу на visual studio 2010, как с помощью запроса (например SnmpMgrRequest) узнать какая версия snmp у агента?? в интернете ничего нормального найти не могу. Пожалуйста приведите какой-нибудь пример
C++ найти сумму чисел, расположенных перед первым минимальным.
Помогите пожалуйста. Как найти сумму чисел, расположенных перед первым минимальным. ??? Не получается. Понимаю, что нужно использовать цикл, но как именно? Очень жду вашей помощи, хотя бы совета.
C++ Перевод строки при записи в файл http://www.cyberforum.ru/cpp-beginners/thread384480.html
Почему при выводе на экран оператор endl; переводит строку на новую, а при записи в файл не переводит, а печатает всё в строчку ? const int rowD = 9, columnD = 4;//Размер преобразованного массива char arrayD; //Дробный двумерный массив ofstream xxx("zzz.txt");
C++ Непонятное поведение sscanf(.., "%lf", ..) Здравствуйте все! Столкнулся с такой проблемой: читаю строку из трех вещественных чисел - 18.4, 5.05, 1.015; смотрю значение value - а там вместо 18.4 - 18.399999999.... Подскажите пожалуйста, почему это происходит, можно ли с этим бороться, и, если можно, то каким образом? double value; sscanf(str, "TEXT %lf, %lf, %lf", &value, &value, &value); подробнее

Показать сообщение отдельно
dg91
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 4
15.11.2011, 17:55     Помогите с getline
Добрый день!
Помогите, пожалуйста, разобраться с механизмом работы функции getline класса ifstream.
Есть кусок кода:
C++
1
2
3
4
5
6
7
8
int buffLen = 10;
char* buff = new char[buffLen];
while(!finp.eof())
{
  finp.getline(buff, buffLen);
  MessageBox(hWnd, buff, "Открытие файла", MB_OK);
}
delete[] buff;
Дело в том, что если длина строки в текстовом файле превышает (buffLen - 1) символов, что эта строка будет считана, а остальные - нет. Почему-то начинается бесконечный цикл, а на в messageBox отображается пустая строка. Длина последующих прочитанных строк - 0.

Объясните, почему так происходит?
Ведь функция должна читать либо до конца строки, либо до конца файла, либо указанное количество символов.
И как написать код, который выполнялся бы корректно независимо от длины строк в текстовом файле?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru