| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > структуры |
| Автор: pharrell 18.7.2006, 23:58 |
| Здравствуйте.Вот код.В принципе он работает.Вот только как все это переписать на чистом Си.Да прогрмма считывает строки из файла в структуру.Поля структуры в строке отделяются запятыми,но читается только одна строка а нужно чтобы все в файле.Заранее больше спасибо. #include <iostream> #include <fstream> #include <string> using namespace std; struct STRING { string str1, str2, str3, str4, str5; }; void main() { ifstream fin; fin.open("text.txt",ios_base::in); if ( !fin.is_open() ) return; STRING str; getline(fin,str.str1,','); // считывам getline(fin,str.str2,','); getline(fin,str.str3,','); getline(fin,str.str4,','); getline(fin,str.str5,'\n'); cin.get(); } |
| Автор: tigger 19.7.2006, 04:41 |
| У тебя читаются все строки в str1, для того чтобы читались все строки по отдельности str1..str5 файл text.txt должен быть вида: привет, пока, ушел, пришел, нафиг т.е строки заканчиваться твоим символом разделителем. |
| Автор: Oleg_Ci 19.7.2006, 19:00 | ||
|
| Автор: apook 23.7.2006, 08:34 | ||
А вот как тот код мог выглядеть на чистом Си. Независимо от того какого вида файл после символа разделителя заполняется следующщее поле структуры.
|
| Автор: Oleg_Ci 23.7.2006, 13:04 | ||||
Так попроще.
|
| Автор: apook 23.7.2006, 14:25 |
| Проще или понятней? Однако кто вообще не врубается легче поймет мой код (по себе сужу) . А вообще конечно неплохо. |
| Автор: apook 23.7.2006, 15:59 | ||||||||
А вот еще небезызвестная функция по модному написанная
Но мне больше нравится самопал типа:
или такой pause();
или такой clrscr();
и т.д. Один минус не совсем уверен что все всегда будет работать (Маловато знаний) |
| Автор: Damarus 23.7.2006, 16:41 |
| apook, это ты к чему |
| Автор: Oleg_Ci 23.7.2006, 16:58 | ||||||
pause() и clrscr() у меня не работают, останавливаются оба на int 0x21 . Программирую на Borland C++ Builder 6. А вариант strlen мне такой нравится :
|
| Автор: apook 24.7.2006, 03:39 | ||||||
К тому что любят на подобных форумах на вопрос типа 'помогите разоб раться' предлагать готовые проги в профессиональном стиле
функцию pause() я позаимствовал из одного исходника никому не изве стной программы под названмем fdisk (freedos) clrscr правда сам придумал когда не хотел подключать conio.h чтоб не увеличивать размер проги Но все как наверно понятно эксперимента ради.
Я гружусь по Borland Turbo C++ , хотя однако и на Builder 6 работало, сейчас попробую... |
| Автор: apook 24.7.2006, 10:33 |
| Привычка у профессионалов обьяснить чтоб никто ниче не понял |