Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2009, 20:18   #1
stear
 
Регистрация: 03.12.2009
Сообщений: 5
Вопрос Ошибка! Подскажите что не так?

Начал писать, но сразу столкнулся с проблемой, выдает ошибку... Я в программирование слаб поэтому если можно подробней объяснить что не так.
Код:
║#include<fstream.h>
║#include<iostream.h>
║#include<conio.h>
║#include<stdlib.h>
║struct REG{
║ char name[30];
║ int age;
║};
║void main() {
║REG pole1, pole2;
║ifstream f1("test1.dat");
║        if(f1.fail()){
║                cout<<"Error! File not be opened!"<<endl;
║                getch();
║                exit(1);}
║        cout<<"Vvedite dannie:"<<endl;
║        for(int i=0; i<5;i++){
║            cin>>pole1.name;
            cin>>pole2.age;
║            f1.read(pole1.name);    ОШИБКА!
            f1.read(pole2.age);       Ошибка!
║            }
║}
Could not find a match for 'istream::read(char *)'
Could not find a match for 'istream::read(int)'

Последний раз редактировалось stear; 09.12.2009 в 21:40.
stear вне форума Ответить с цитированием
Старый 09.12.2009, 20:57   #2
Junk1E
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 28
По умолчанию

А где пишешь ? fstream.h самопальная библиотека ? У меня ее не находит, на деве
Junk1E вне форума Ответить с цитированием
Старый 09.12.2009, 21:19   #3
stear
 
Регистрация: 03.12.2009
Сообщений: 5
По умолчанию

В Turbo C++ 3.0
Нифига не самопальная это библиотека для работы с потоками ввода/вывода
stear вне форума Ответить с цитированием
Старый 09.12.2009, 21:28   #4
Junk1E
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 28
По умолчанию

эммммм, потоковая это iostream ))))
Junk1E вне форума Ответить с цитированием
Старый 09.12.2009, 21:29   #5
Junk1E
Пользователь
 
Регистрация: 09.12.2009
Сообщений: 28
По умолчанию

И кстати, можешь задание само сказать, а то как то по коду без коментов не айс понимать )
Junk1E вне форума Ответить с цитированием
Старый 09.12.2009, 21:40   #6
stear
 
Регистрация: 03.12.2009
Сообщений: 5
По умолчанию

Вот задание:
Задача такова: Написать прогу которая лексикографически(по алфавиту) сортирует последовательность регистраций(из файла) типа:
struct { char name [30];
int age};
Результат записывается в новый файл.

Т.е. дан файл "test1.txt" который содержит:
Сидоров 43
Иванов 34
Петров 23
А результат должен быть записан в другой файл к примеру "test2.txt":
Иванов 34
Петров 23
Сидоров 43
stear вне форума Ответить с цитированием
Старый 09.12.2009, 23:29   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Junk1E Посмотреть сообщение
эммммм, потоковая это iostream ))))
Все библиотеки C++, в которых есть слово stream относятся к потоковым)
iostream - поток консольного ввода/вывода
fstream - поток файлового ввода/вывода
strstream - поток строкового ввода/вывода
В борланд 3 вся стандартная библиотека имеет расширение .h, в наше время, по стандарту, стандартная библиотека C++ не имеет расширения

2stear,
метод read у istream принимает два параметра - буфер куда читать и сколько этот буфер может вместить.
Код:
char buffer[80];
cin.read(buffer, 80); // вместо cin может быть любой другой поток ввода
Вы уверены, что необходимо использовать именно read?
Может в данном случае лучше будет обойтись оператором >>?
Код:
f1 >> pole1.name;
f1 >> pole1.age;

Последний раз редактировалось netrino; 10.12.2009 в 02:03. Причина: поправил себя
netrino вне форума Ответить с цитированием
Старый 10.12.2009, 16:12   #8
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

согласен с последними строками нетрино.
а как у вас работает
║ cin>>pole1.name; ?
всегда приходилось писать
cin.getline(name,30);
GonZaleZ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, что не так SWAT Паскаль, Turbo Pascal, PascalABC.NET 0 15.06.2009 15:15
Подскажите, что не так с кодом Grisha248 Помощь студентам 2 24.05.2009 16:41
Подскажите что не так... SynonymMixer Работа с сетью в Delphi 10 26.01.2009 23:49
Подскажите что не так в программе? Toxass Общие вопросы Delphi 9 20.12.2008 10:11
Подскажите что тут не так!? dcl Общие вопросы Delphi 5 28.03.2007 08:15