|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2011, 01:10 | #1 |
Пользователь
Регистрация: 18.11.2011
Сообщений: 34
|
почему здесь выкидуется ошибка на счёт c_str и ToInt на счёт ostream
//---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop #include <windows.h> #include <iostream.h> #include <fstream.h> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { const maxlen = 255; char promt_oem[maxlen]; CharToOem("Ââåäèòå ïðîèçâîäèòåëÿ\n", promt_oem); cout << promt_oem; char str_oem[maxlen], str[maxlen]; cin >> str_oem; OemToAnsi(str_oem, str); char prokt_oem[maxlen]; CharToOem("Ââåäèòå ìàðêó\n", prokt_oem); cout << prokt_oem; char stk_oem[maxlen], stk[maxlen]; cin >> stk_oem; OemToAnsi(stk_oem, stk); char proqt_oem[maxlen]; CharToOem("Ââåäèòå ãîä âûïóñêà\n", proqt_oem); cout << proqt_oem; char stq_oem[maxlen], stq[maxlen]; cin >> stq_oem; OemToAnsi(stq_oem, stq); char progt_oem[maxlen]; CharToOem("Ââåäèòå ïðîáåã\n", progt_oem); cout << progt_oem; char stg_oem[maxlen], stg[maxlen]; cin >> stg_oem; OemToAnsi(stg_oem, stg); } const maxlen = 255; struct sworker { char maker[maxlen]; char label[maxlen]; int year; int km; }; sworker arr[maxlen]; int worker_index = 0; void readFormFile(char * fileName) { ifstream f; f.open(fileName, ios::binary); if (!f) { ShowMessage("Ôàéë íå íàéäåí"); return; } sworker worker; worker_index = 0; while(1) { f.read((char*)&worker, sizeof(worker)); if (f.eof()) break; arr[worker_index] = worker; worker_index++; } f.close(); } void printArr() { for (int i = 0; i < worker_index; i++) { cout << i + 1; cout << arr[i].maker; cout << arr[i].label; cout << arr[i].year; cout << arr[i].km; } } void readArr() { for (int i = 0; i < worker_index; i++) { strcpy(arr[i].maker, cout.c_str()); strcpy(arr[i].label, cout.c_str()); arr[i].year << cout.ToInt(); arr[i].km << cout.ToInt(); } } void saveToFile(char* fileName) { ofstream f; f.open(fileName, ios::binary); f.write((char*)arr, sizeof(sworker)*worker_index); f.close(); } //--------------------------------------------------------------------------- |
19.12.2011, 01:35 | #2 |
Форумчанин
Регистрация: 14.10.2011
Сообщений: 267
|
- чисто из практики: конструкция .c_str() применяется для преобразования строки (AnsiString) в символьный массив (char * ) и действительно не является в чистом виде членом потока (ostream). То-есть вот так будет правильно (пример):
Код:
|
19.12.2011, 01:37 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ни тот ни тот метод в принципе не члены istream/ostream.
далее, ТС вы пытаете потоки ввода и вывода. cout это вывод, а cin ввод. для чтения в массив чаров есть метод istream::getline. пример Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 19.12.2011 в 01:42. |
19.12.2011, 21:35 | #4 |
Пользователь
Регистрация: 18.11.2011
Сообщений: 34
|
почему здесь выкидуется ошибка на счёт c_str и ToInt на счёт ostream Ответить в теме
что-то ничего не понял, толком объясните что изменить там
|
19.12.2011, 21:42 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я привел примеры ввода для каждого типа члена в структуре.
тяжело применить?(причем примеры чисто для вас) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.12.2011, 23:07 | #6 |
Пользователь
Регистрация: 18.11.2011
Сообщений: 34
|
Неработает
Оно так не работает
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
почему здесь выкидуется ошибка на счёт c_str | elf01 | C++ Builder | 1 | 16.12.2011 15:27 |
счёт таблиц | aoaoo | Microsoft Office Excel | 2 | 18.05.2011 21:51 |
посоветуйте на счёт программы | managerbp | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 20.02.2011 22:17 |
На счёт Css v 45 | Айфоша | Свободное общение | 1 | 25.08.2010 15:06 |
На счёт окошек | Акашаев Нурлан | Общие вопросы Delphi | 2 | 26.06.2008 09:52 |