Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307

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

26.07.2013, 16:34. Показов 3904. Ответов 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
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,474
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru