Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.122.4] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте. Что не так делаю??? Мне нужно записать структуру в фай. Данные читаю с едитбокса.
//сама структура struct recf { char kurs[256]; char grup[256]; char day[256]; char lesson[256]; int hour; char ds[256]; }; //запись в файл FILE *out; recf temp; int dd; if ((out = fopen("data.dat","wb"))==NULL) { } temp.kurs = kurs->Text.c_str; temp.grup = Grup->Text.c_str; temp.day = Day->Text.c_str; temp.lesson = Para->Text.c_str; temp.hour = StrToInt(hours->Text.c_str); temp.ds = Lab->Text.c_str; fwrite(&temp,sizeof(temp),1,out); fclose(out); |
Сообщ.
#2
,
|
|
|
neznayka
temp.kurs,temp.grup,temp.day,temp.lesson,temp.ds - это указатели. Попробуй вот так : memcpy(temp.kurs,kurs->Text.c_str,kurs->Text.Length()); // и т.д. //.................. |
Сообщ.
#3
,
|
|
|
neznayka, у тебя это хотя бы компилиться c_str() - метод AnsiString, и это не паскаль. И {} после if как-то странно стоят.
Цитата Дима @ Нет, это - не указатели, указатели - это kurs->Text.c_str(), Grup->Text.c_str(), Day->Text.c_str(), ... temp.kurs,temp.grup,temp.day,temp.lesson,temp.ds - это указатели. |
Сообщ.
#4
,
|
|
|
Цитата Дима @ neznayka temp.kurs,temp.grup,temp.day,temp.lesson,temp.ds - это указатели. Попробуй вот так : memcpy(temp.kurs,kurs->Text.c_str,kurs->Text.Length()); // и т.д. //.................. нет нехотит. Цитата Cannot convert 'char * (_fastcall * (_closure )())()' to 'const void *' -Added Цитата Adil @ neznayka, у тебя это хотя бы компилиться c_str() - метод AnsiString, и это не паскаль. И {} после if как-то странно стоят. Цитата Дима @ Нет, это - не указатели, указатели - это kurs->Text.c_str(), Grup->Text.c_str(), Day->Text.c_str(), ...temp.kurs,temp.grup,temp.day,temp.lesson,temp.ds - это указатели. Компилируется. |
Сообщ.
#5
,
|
|
|
neznayka
извени : memcpy(temp.kurs,kurs->Text.c_str(),kurs->Text.Length()); Adil Цитата Нет, это - не указатели, указатели - это kurs->Text.c_str(), Grup->Text.c_str(), Day->Text.c_str(), ... Я всё время считал, что при char c[100], c - это указатель на первый элемент массива. В чём я не прав? |
Сообщ.
#6
,
|
|
|
Цитата указатели - это kurs->Text.c_str(), Grup->Text.c_str(), Day->Text.c_str(), Тогда что нужно создать структуру указателей??? И как она в будет файле?? Я смогу читать файл записями??? |
Сообщ.
#7
,
|
|
|
Цитата Дима @ Я всё время считал, что при char c[100], c - это указатель на первый элемент массива. В чём я не прав? тынц |
Сообщ.
#8
,
|
|
|
//сама структура struct recf { char kurs[256]; char grup[256]; char day[256]; char lesson[256]; int hour; char ds[256]; }; //запись в файл FILE *out; recf temp; int dd; if ((out = fopen("data.dat","wb"))==NULL) { } strcpy(temp.kurs, kurs->Text.c_str()); strcpy(temp.grup, Grup->Text.c_str()); strcpy(temp.day, Day->Text.c_str()); strcpy(temp.lesson, Para->Text.c_str()); temp.hour = StrToInt(hours->Text); strcpy(temp.ds, Lab->Text.c_str()); fwrite(&temp,sizeof(temp),1,out); fclose(out); Спасиб за внимание |
Сообщ.
#9
,
|
|
|
Цитата Дима @ с - указывает на первый элемент массива, но это не указатель.Я всё время считал, что при char c[100], c - это указатель на первый элемент массива. В чём я не прав? char [] и char* - это разные типы. Почувствуй разницу char c[]; char* p; p = c; c = p; |