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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
#1

Работа с текстовым файлом - C++

18.08.2012, 01:08. Просмотров 604. Ответов 3
Метки нет (Все метки)

Вот часть кода:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void ReadFile(ifstream &fin, int Kol_Ar)
{
//чтение данных из файла и вывод на консоль
CCust *ReadF = new CCust[Kol_Ar];
for(int i = 0; i < Kol_Ar; i++)
{
fin >> ReadF[i].CustomerID >> ReadF[i].Customer >>
ReadF[i].Chief >> ReadF[i].AddressCust >> ReadF[i].Room;
 
cout << "\nИНН арендатора: " << ReadF[i].CustomerID;
cout << "\nНазвание арендатора: " << ReadF[i].Customer;
cout << "\nФамилия руководителя: " << ReadF[i].Chief;
cout << "\nАдрес арендатора: " << ReadF[i].AddressCust;
cout << "\nКабинет арендатора: " << ReadF[i].Room << "\n";
}
 
delete[] ReadF;
ReadF = 0;
}
все работает, только вот ReadF[i].AddressCust считывает не всю строку а часть, до первого пробела, я нашел что getline игнорирует пробел, но как его использовать в этой части не могу понять... Заранее благодарю за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2012, 01:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с текстовым файлом (C++):

Работа с текстовым файлом С++ - C++
Здравствуйте! Помогите написать программу которая будет выводить на консоль студентов, имеющих по трём предметам (Math Analysis, Physics,...

Работа с текстовым файлом - C++
Всем доброго вечера! Имеется текстовый файл в котором информация занесена таким образом -Название государства, Численность, Плотность....

Работа с текстовым файлом - C++
Здравствуйте. Имеется текстовый файл, в котором известно количество очков, набранных каждой из 19 команд-участниц первенства по футболу....

Работа с текстовым файлом - C++
Прошу помощи. Должно быть консольное приложение. Описываю последовательность действий. Текстовый файл 1234.txt розмещен в каталоге с...

Работа с текстовым файлом - C++
Доброго времени суток, друзья! Прошу помощи с выполнением лабораторной работы. Задание: необходимо прочитать текстовый файл и...

Работа с текстовым файлом - C++
Дан текстовый файл, имеющий более 3х строк. Задание: удалить из файла последние три строки. Заранее спасибо всем, кто поможет.

3
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.08.2012, 02:19 #2
Если ReadF[i].AddressCust - string, то:
C++
1
getline(fin, ReadF[i].AddressCust);
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
18.08.2012, 12:18  [ТС] #3
Я знаю про getline, у меня вопрос к запихнуть эту функцию в код:

C++
1
2
fin >> ReadF[i].CustomerID >> ReadF[i].Customer >>
ReadF[i].Chief >> ReadF[i].AddressCust >> ReadF[i].Room;
Тут у меня и строки и числа... тупо вставить не получается...

Добавлено через 19 минут
если даже просто использовать
C++
1
getline(fin, ReadF[i].AddressCust);
выдает ошибки:

error C2784: std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &): не удалось вывести аргумент шаблон для "std::basic_istream<_Elem,_Traits> &" из "std::ifstream"
см. объявление 'std::getline'
error C2784: std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &): не удалось вывести аргумент шаблон для "std::basic_string<_Elem,_Traits,_Alloc> &" из "char *"
см. объявление 'std::getline'
error C2780: std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem): требует аргументов: 3, имеется: 2
см. объявление 'std::getline'
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.08.2012, 18:09 #4
Что из себя представляет ReadF[i].AddressCust? fin как объявлен? Какая IDE? Третий параметр в getline по умолчанию задан ('\n'). Попробуйте так: getline(fin, ReadF[i].AddressCust, '\n'); Как в файл записаны данные? Перевод строки там присутствует? Или символ окончания строки ('\0') ? Тогда можно так: getline(fin, ReadF[i].AddressCust, '\0'). И вставить нужно именно в то место, где :... >> ReadF[i].AddressCust >>... Остальные данные через >> нормально читаются? А лучше весь код посмотреть.

Добавлено через 22 минуты
Если ReadF[i].AddressCust это не string, а char[N], то можно так: fin.getline(ReadF[i].AddressCust, N);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2012, 18:09
Привет! Вот еще темы с ответами:

Работа с текстовым файлом - C++
Нужно программа которая добавляет записи в файл вида: - Структура &quot;Спортивная команда&quot;: - название; - город; - количество...

Работа с текстовым файлом - C++
Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла лишние...

Работа с текстовым файлом - C++
Здравствуйте все! Мне очень нужна помощь в написании кода программы для работы с текстовым файлом. Допустим, у меня есть документ.txt...

Работа с текстовым файлом - C++
В ОБЩЕМ ЗАДАЧА СОСТОИТ В СЛЕДУЮЩЕМ: В текстовом файле информация хранится в следующем виде: &lt;имя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
18.08.2012, 18:09
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru