Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1

Запись в файл информации

16.07.2013, 09:29. Показов 1386. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надыбал тут на форуме как в файл инфу записывать попробовал с едитом, вот код
C++
1
2
3
 FILE* pFile = _wfopen( "anketa.bin", L"wb" );
 fwrite(&E11->Text, sizeof(AnsiString), 1, pFile);
 fclose(pFile);
ошибки:
[C++ Error] UAnketa.cpp(301): E2034 Cannot convert 'char *' to 'const wchar_t *'
[C++ Error] UAnketa.cpp(301): E2342 Type mismatch in parameter '__path' (wanted 'const wchar_t *', got 'char *')
[C++ Error] UAnketa.cpp(302): E2027 Must take address of a memory location

хелп.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.07.2013, 09:29
Ответы с готовыми решениями:

Запись информации в .PDF файл
Из файла считываю структуру и вывожу ее в StringGrid и Memo. Потом из StringGrid и Memo записываю информацию в Excel, Word и PDF. С Excel и...

Запись информации в файл
Мне нужно добавить в сущевствующий файл со списком студентов, тех у которых совпадают имена. Совпадающих я нашел и на экран вывел, а вот в...

Запись информации в файл
Я спёр с хабра код драйвера, и теперь мне нужно его модифицировать. Сам то я в общем разобрался как он работает, но всё равно не пойму, как...

18
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.07.2013, 10:04
как-то так нужно...__
C++
1
2
3
4
5
  wchar_t buf[256];
  E11->Text.WideChar(buf,E11->Text.Length())  ;
  FILE* pFile = _wfopen( L"anketa.bin", L"wb" );
  fwrite(&buf, E11->Text.Length(), 2, pFile);
  fclose(pFile);
(но с юникодом сам разбирайся)
1
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
16.07.2013, 10:36  [ТС]
что делает функция WideChar и почему тут fwrite(&buf, E11->Text.Length(), 2, pFile); используется E11->Text.Length() это выражение а не sizeof?

Добавлено через 8 минут
ах да, а как обратно вычесть инфу?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.07.2013, 10:44
а что вы хотите получить на sizeof(AnsiString)? Где тут явно присутствует ваша строка из эдита? Вернет вам длину указателя (4 байта-адрес) на строку; вам это нужно? WideChar записывает в буфер юникодные символы, взятые из строки эдит (по 2 байта на символ), но записывает (у меня на BCB5) неправильно; не в той кодовой странице.

Добавлено через 6 минут
Цитата Сообщение от HardLogin Посмотреть сообщение
ах да, а как обратно вычесть инфу?
Да считать не проблема; как вы ее дальше сортировать собираетесь? Если хотите экономить место, то строки сохраняйте как строку со счетчиком, то-есть на первом месте длина строки (BYTE или WORD) и далее - сама строка без оконечного нуля. И при чтении этот счетчик учитывается.
0
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
16.07.2013, 11:29  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
а что вы хотите получить на sizeof(AnsiString)? Где тут явно присутствует ваша строка из эдита? Вернет вам длину указателя (4 байта-адрес) на строку; вам это нужно? WideChar записывает в буфер юникодные символы, взятые из строки эдит (по 2 байта на символ), но записывает (у меня на BCB5) неправильно; не в той кодовой странице.

Добавлено через 6 минут
Да считать не проблема; как вы ее дальше сортировать собираетесь? Если хотите экономить место, то строки сохраняйте как строку со счетчиком, то-есть на первом месте длина строки (BYTE или WORD) и далее - сама строка без оконечного нуля. И при чтении этот счетчик учитывается.
а зачем сортировать?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.07.2013, 11:40
Цитата Сообщение от HardLogin Посмотреть сообщение
а зачем сортировать?
а вы под каждый эдит будете файл писать?
0
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
16.07.2013, 19:25  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
а вы под каждый эдит будете файл писать?
не а что с этим какие то проблемы?

Добавлено через 6 часов 13 минут
так как мне прочесть эти данные?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.07.2013, 22:09
Цитата Сообщение от HardLogin Посмотреть сообщение
так как мне прочесть эти данные?
Аналогично...__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button2Click(TObject *Sender)
{        /* #include <algorithm> */
  wchar_t buf[256];
  std::fill(&buf[0],&buf[255],0);
  E11->Clear();
  FILE* rFile = _wfopen(L"anketa.bin", L"rb" );
  if (rFile) {
    fseek(rFile,0,SEEK_END);
    int len = ftell(rFile);
    fseek(rFile,0,0);
   //  fscanf(rFile,"%s",buf) ;
    fread(&buf, len, 1, rFile);
    fclose(rFile);
  }
  E11->Text = (WideString)buf ;
}
0
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
16.07.2013, 22:14  [ТС]
что делает функция fseek и вы чтото говорили о сортировке я не очень понимаю...
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.07.2013, 22:21
Функция fseek - "установка" на смещение в файле: если 0,2 (или seek-end), то на конец (после чего считывается ftell()... - получаем размер файла; если 0,0 - то в начало. А сортировку я упомянул не в прямом смысле. У вас в файле предполагается сохранять множество данных. Так вот, чтоб их при считывании распределить по нужным местам нужно и располагать данные в каком-то порядке, - не просто эдит за эдитом.
0
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
16.07.2013, 22:46  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
не просто эдит за эдитом.
а как?
Цитата Сообщение от nick42 Посмотреть сообщение
Функция fseek - "установка" на смещение в файле: если 0,2 (или seek-end), то на конец (после чего считывается ftell()... - получаем размер файла; если 0,0 - то в начало.
это другими словами установка указателя в файле?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.07.2013, 22:48
Цитата Сообщение от HardLogin Посмотреть сообщение
а как?
... это уже "синдром поводыря". Пробуйте. Набьете шишек - лучше запомнится. Опыт - вещь незаменимая.
0
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
17.07.2013, 08:01  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
... это уже "синдром поводыря". Пробуйте. Набьете шишек - лучше запомнится. Опыт - вещь незаменимая.
я просто слабо очень понимаю
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
17.07.2013, 09:33
Цитата Сообщение от HardLogin Посмотреть сообщение
я просто слабо очень понимаю
Тогда оцените задачу и свои возможности, и выбирайте наиболее реальный путь ее решения. Осваивать что-то все равно придется... .
Как я понимаю, вам нужно написать и распространить программу, которая бы предоставляла возможность пользователю заполнить анкету, а результатом своей работы оставляла некий файл, который бы хранил выбор пользователя. Но потом же еще этот файл нужно будет обрабатывать другой программой, которая будет обрабатывать статистику? Если вы раньше не работали со структурами и бинарными файлами, то зря взялись за тот вариант, который стали осваивать... - я предложил более простое решение с ини-файлом. Секции можно организовать по числу работ или мероприятий; значениями ключей будут заполненные текстовые поля, а наличие "галочек" в чекбоксах, на мой взгляд, просто передавать текстовой строкой вида "01001101" или "-++-+++--", где позиция значка привязана к номеру конкретного чекбокса, а его значение определяет состояние чекбокса. Но если возможно всю информацию анкеты "вбить" в некую универсальную структуру, тогда предпочтительнее второй вариант (с бинарным файлом"). Только ведь сначала нужно продумать структуру, а за вас это кто-то вряд ли станет делать, разве что фрилансеры. Я могу выложить простенький проект, работающий со структурой посредством бинарного файла... - если на примере сможете это освоить - тогда вперед.
1
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
17.07.2013, 19:39  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
Я могу выложить простенький проект, работающий со структурой посредством бинарного файла... - если на примере сможете это освоить - тогда вперед.
Да пожалуйста буду рад
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
18.07.2013, 00:43
Вот. Думаю, разобраться не сложно. Только учтите, что здесь в структуре текстовые поля фиксированной длины; вас это не устроит.
Вложения
Тип файла: rar 68.RAR (195.7 Кб, 7 просмотров)
1
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
18.07.2013, 08:34  [ТС]
а если я решу записывать в ини файл можно расширение на например ankt поменять
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
18.07.2013, 08:55
Цитата Сообщение от HardLogin Посмотреть сообщение
а если я решу записывать в ини файл можно расширение на например ankt поменять
Да. Главное - его структура, а не название.
1
 Аватар для HardLogin
54 / 54 / 2
Регистрация: 20.01.2013
Сообщений: 832
Записей в блоге: 1
18.07.2013, 09:56  [ТС]
хорошо, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2013, 09:56
Помогаю со студенческими работами здесь

Запись из драйвера информации в файл
Как из драйвера записать информацию в файл?

Запись и считывание информации в WAV-файл
Всем добрый день. Занимаюсь такой проблемой: необходимо записать в звуковой файл и считать из него определенную последовательность. При...

Шифрование информации и запись в файл с последующей расшифровкой
Подскажите, есть массив char, мне надо его записать в файл, но что бы информация была зашифрована, в дальнейшем нужно её считать и...

Запись больших массивов информации в текстовый файл
нужно записывать большие массивы информации в текстовый файл. При открытии файла, нужно сделать так, чтобы все содержимое в нем при...

Переделать запись в файл информации о студенте через структуру
Помогите пожалуйста немного отредактировать код. Преподаватель просит сделать с помощью структуры. Вот, что требуется: &quot;Используй...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru