powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите записать...т.е. поравить меня немного
11 сообщений из 11, страница 1 из 1
Помогите записать...т.е. поравить меня немного
    #32741643
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем доброй ночи....
Есть структура
struct fsfile
{
char name[100];
int size;
};
Тут я запоняю структуру из ТListView и пытаюсь записать ее в файл txt
if (SaveDialog->Execute())
{
for (int i = 0; i < ListView->Items->Count; i++)
{
if (!FileExists(SaveDialog->FileName))
file = new TFileStream(SaveDialog->FileName, fmCreate|fmShareExclusive);
else
file = new TFileStream(SaveDialog->FileName, fmOpenWrite|fmShareExclusive);

strcpy(fs.name, ListView->Items->Item ->Caption.c_str());
strcpy(fs.name, ".");
strcpy(fs.name, ListView->Items->Item->SubItems->Strings[1].c_str());
fs.size = StrToInt(ListView->Items->Item->SubItems->Strings[0].c_str());

int size_f = file->Seek(0, soFromEnd);
file->Seek(size_f, soFromBeginning);
file->Write(&fs, sizeof(fsfile));
delete file;
}
Вот по идеи записалось...так нет...вместо того чтобы записать по русски
пишет какие-то закарюки и иероглифы...В чем проблема...(((

Заранее большое спасибо
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32741649
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня там опечатка
Вместо strcpy надо strcat
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32741693
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех , лутьше не мучейся , а сделай так

Код: plaintext
1.
2.
3.
4.
5.
6.
  TStringList * sl = new TStringList;
  sl->Add("Hello World!!!");

  sl->SaveToFile(SaveDialog->FileName);
  delete sl;






 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32741701
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 JibSkeart
кроме структуры мне много чего ещё нужно забить в файл....)))
Мне к сожалению не подойдет данный путь решения проблемы
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32741719
Jibs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ндык , так бы и сказал ...
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32741967
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в кодировке, кажется. Помнится у меня была сходная проблема.
Может поможет определение свойства Font->Charset у ListView?
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32742044
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только какой Charset ... У меня стоит RUSSIAN_CHARSET..))
Он как раз не отображает русского шрифта и size_f числом...(((
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32742078
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'FaTsO'Только какой Charset ... У меня стоит RUSSIAN_CHARSET..))
Он как раз не отображает русского шрифта и size_f числом...(((

А при просмотре твоего файла в FAR'е он как выглядит? Нормально?

Согласен с Philin. Проблема именно в кодировке. И дело скорее всего не в RUSSIAN_CHARSET, а в том, что в ср866 и ср1251 (они обе RUSSIAN_CHARSET :) , только одна под ДОС, другая под Винды) русские буквы имеют разные коды! А, насколько я понял (писал программу по работе с БД на С++Builder), такая перекодировка автоматически не производится :(. А по умолчанию для программ принимается именно ср1251.
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32742081
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да просто поэкспериментировать.
CharToOem, OemToChar
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32742905
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самый прикол в том что если ставлю RUSSIAN_CHARSET
отображается правильно записи на англ.
Если ставлю ANSI_CHARSET то отображается
правильно русский текст...)))
...
Рейтинг: 0 / 0
Помогите записать...т.е. поравить меня немного
    #32745483
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге я выкрутился так (это если кому интересно):
struct fsfile
{
char name[100];
char size[100];
};
if (SaveDialog->Execute())
{
for (int i = 0; i < ListView->Items->Count; i++)
{
TFileStream *file;
fsfile fs;
strcpy(fs.name, "");
strcpy(fs.size, "");
strcat(fs.name, ListView->Items->Item ->Caption.c_str());
strcat(fs.name, ".");
strcat(fs.name, ListView->Items->Item->SubItems->Strings[1].c_str());
strcat(fs.size, ListView->Items->Item->SubItems->Strings[0].c_str());
if (!FileExists(SaveDialog->FileName))
file = new TFileStream(SaveDialog->FileName, fmCreate|fmShareExclusive);
else
file = new TFileStream(SaveDialog->FileName, fmOpenWrite|fmShareExclusive);
int size_f = file->Seek(0, soFromEnd);
file->Seek(size_f, soFromBeginning);
file->Write(fs.name, strlen(fs.name));
file->Write(fs.size, strlen(fs.size));
delete file;
} простенько и со вкусом
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите записать...т.е. поравить меня немного
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]