Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307

Строки фиксированной длинны в структурах для записи/чтения в файлах

26.07.2013, 16:34. Показов 3511. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. В С++ я совсем новичок. Создал тему в разделе для начинающих с парой вопросов. На один из них посоветовали попросить помощи в этом разделе.

По сути, меня интересует string. Если я правильно понимаю, тип char array (na primer char my_field[50]) для хранения строк неудобен из за необходимости создавать циклы или использовать функций для присваивания такой переменной некой строки символов.

Я "работаю" в RAD C++ XE2, хотя наверное в данном случае это не принципиально. Мне нужно разобраться со string-ом. Точнее, как мне подсказали с более удобными средствами сериализации String/UnicodeString. Говоря простым языком, с упрощёнными (быстрыми) методами работы со строками и хранения в файлах структур содержащих переменные этого типа (char или string).

Заранее благодарю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.07.2013, 16:34
Ответы с готовыми решениями:

Вывод строки фиксированной длинны в cout (аля printf(%5.0d)!
Добрый вечер! Сегодня встал перед выбором... как выводить через printf или cout. Через принтф код выдает ошибку: Необработанное...

Описать класс для работы с одномерным массивом строк фиксированной длинны
Здравствуйте!Я запуталась,помогите! Описать класс для работы с одномерным массивом строк фиксированной длинны. Обеспечить следующие...

Описать класс для работы с одномерным массивом строк фиксированной длинны
Описать класс для работы с одномерным массивом строк фиксированной длинны. Обеспечить следующие возможности: Задание произвольных...

25
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
31.07.2013, 14:54  [ТС]
Лучший ответ Сообщение было отмечено как решение

Решение

Студворк — интернет-сервис помощи студентам
Avazart, ну Вы вроде знающий человек, решились помочь. Ну зачем опять пытаетесь задеть меня говоря про "чушь"? Я человек кровей горячих, могу тоже сорваться. Ну зачем Вам это? Не сомневаюсь, что Вы профессионал в данной сфере. Ну а я, уверяю Вас, тоже профессионал, но в другой сфере! Кто-то третий - в какой-то 3-ей сфере, в которой мы оба с Вами полные чайники! Нельзя же так?!

Меня на пример злят посты в стиле "у меня такое да такое задание, пожалуйста сделайте за меня"! Тут бы я тоже разозлился! Но я же пытаюсь что-то сообразить, что-то сделать сам? Да Вы поймите - благодарен я Вам за помощь, но Вы её износу достаёте, своими высказываниями.

"Запихнуть" одно в другое я не собирался, если Вы не заметили, я написал strcpy(REG, UnicodeString(ListBox1->Items->Strings[i]).c_str() ); заменив AnsiString на UnicodeString! А c_str в RAD XE2 дефинирован тоже как wchar_t !
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
31.07.2013, 14:59
отключите в билдере Unicode (тут где то было как это сделать) делайте все в char (ANSI String) и забудьте обо всей этой интернационализации. или вы на экспорт для эмиратов программу делаете?
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.07.2013, 15:15
Лучший ответ Сообщение было отмечено Kukstyler как решение

Решение

Kukstyler, В Билдере ваш пример будет выглядеть, я думаю, не намного сложнее. Приблизительно так:__
C++
1
2
3
4
5
6
7
8
9
10
11
  struct Koktail
{
   int Id_koktail;
   wchar_t Nazvanie[120];
}; Koktail  myKOKTEIL ;
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   myKOKTEIL.Id_koktail = Edit1->Text.ToInt();
   _wcspcpy(myKOKTEIL.Nazvanie,(WideString)Edit2->Text);
}
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
31.07.2013, 18:37  [ТС]
Цитата Сообщение от vxg Посмотреть сообщение
отключите в билдере Unicode (тут где то было как это сделать) делайте все в char (ANSI String) и забудьте обо всей этой интернационализации. или вы на экспорт для эмиратов программу делаете?
Нет, программа должна быть на русском. A проект был сохранён изначально в Unicode по совету Билдера, из за комментов на русском в самом коде...

Добавлено через 1 минуту
nick42, на счёт _wcspcpy - не знал! Вечером попробую и отпишусь о результатах.

Премного благодарен!
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
07.08.2013, 11:01  [ТС]
Цитата Сообщение от Kukstyler Посмотреть сообщение
Нет, программа должна быть на русском. A проект был сохранён изначально в Unicode по совету Билдера, из за комментов на русском в самом коде...
Тут, кажется, я замутил. Ведь исходный файл с С++ кодом, сохранённый в Unicode, реально не имеет ничего общего с данными используемыми в программе...

Цитата Сообщение от Kukstyler Посмотреть сообщение
Добавлено через 1 минуту
nick42, на счёт _wcspcpy - не знал! Вечером попробую и отпишусь о результатах.

Премного благодарен!
nick42, всё сработало отлично! Спасибо за помощь!
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
07.08.2013, 11:13
Пожалуйста...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2013, 11:13
Помогаю со студенческими работами здесь

Написать функции для чтения/записи отдельных бит для любой записи из данного набора
Начиная с адреса А в памяти МК находятся N записей длиной k бит каждая. Записи выровнены по границе слова. Написать функции для...

Как открыть файл одновременно для чтения и для записи?
Делаю вот так, но ничего не получается.:( std::fstream inOutCredit("credit.dat", std::ios::ate | std::ios::binary); if...

RichTextBox: несколько строк только для чтения, а остальные и для записи. Возможно ли?
Добрый день. Можно ли в MS Visual Studio сделать так, чтобы в RichTextBox первые, например, 5 строк были доступны только для чтения, а в...

Функции для записи в сокет и чтения из сокета: как правильно задать для windows?
делала проект под Linux и в нем успешно работали write и read. Но теперь мне нужно перекомпилировать под windows. кто-нибудь знает какие...

Программа для посекторного чтения\записи
Подскажите, программу которая позволяю прочитать или записать в а SD карту информацию по секторно?


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru