powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как присвоить переменной CString массив wchar_t[256]?
28 сообщений из 28, показаны все 2 страниц
Как присвоить переменной CString массив wchar_t[256]?
    #39234972
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как правильно присвоить?

Код: plaintext
1.
2.
3.
CString cs;
wchar_t str[256]
...// заполнили str



cs = str; // ?
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235040
Ступин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
strcncpy, sctrcpy ???
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235042
Давидович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
опечатки///...

strncpy, strcpy ???
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235062
Гомункул
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильный ответ:

ТынЦ
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235063
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинcs = str; // ?Да
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235067
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanРолг Хупинcs = str; // ?Да CString::operator =
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235072
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупинкак правильно присвоить?

Код: plaintext
1.
2.
3.
CString cs;
wchar_t str[256]
...// заполнили str



cs = str; // ?


офтопик , но считаю его важным, что бы потом небыло мучительно больно.
Рекомендую не связываться с w-строками,
а сразу делать правильно, в соотвествии с мейнстримом .....
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235076
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГомункулПравильный ответ:

ТынЦ
Отнюдь. Правильный ответ - ждите С++18 with modules.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235083
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kсразу делать правильно, в соотвествии с мейнстримом
Системной библиотеке, включая fopen и puts на этот мейнстрим совершенно положить...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235093
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинкак правильно присвоить?

Код: plaintext
1.
2.
3.
CString cs;
wchar_t str[256]
...// заполнили str



cs = str; // ?

Зависит от твоих настроек проекта в плане UNICODE.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235094
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно было слияние двух разных проектов. И разумно поддержать тот API
который целевой. А весь остальной - вырубить топором.

Кастинги строк конечно останутся но... как-то минимизировать их хотяб.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235215
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovд0kсразу делать правильно, в соотвествии с мейнстримом
Системной библиотеке, включая fopen и puts на этот мейнстрим совершенно положить...



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

В свете вышеперечисленного не рекомендую
зоопарки UNICODE и видндозных кодировок,
а сразу уходить в унифицированный мейнистрим и использовать рафинированный utf8 .

зы что касается системный вызовов . то ноги проблем с не английскими
именами файлов в ПО растут от
зоопарка уникодов и прочих кодировок.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235228
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kЯ не о библиотеках офтоплю, а о кросплатформенности
А я говорю из собственной практики: нет никакой кроссплатформенности в части работы с
данными в кодировке utf-8. Ядерные функции что Windows, что Linux, что ещё кого угодно,
принимают строки исключительно в текущей локали.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235353
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovд0kЯ не о библиотеках офтоплю, а о кросплатформенности
А я говорю из собственной практики: нет никакой кроссплатформенности в части работы с
данными в кодировке utf-8. Ядерные функции что Windows, что Linux, что ещё кого угодно,
принимают строки исключительно в текущей локали.

Ничего не могу сказать про виндовс. В линуксе fopen понимает имена файлов в UTF-8 и как минимум XFS и ext4 отрабатывают корректно.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235379
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlВ линуксе fopen понимает имена файлов в UTF-8 и как минимум XFS и ext4
отрабатывают корректно.
Ага, щаззз жо. Создай файл с именем "привет" в utf-8 при текущей локали Win1251. А потом
посмотри что на это скажет ls. И наоборот.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235392
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovYesSqlВ линуксе fopen понимает имена файлов в UTF-8 и как минимум XFS и ext4
отрабатывают корректно.
Ага, щаззз жо. Создай файл с именем "привет" в utf-8 при текущей локали Win1251. А потом
посмотри что на это скажет ls. И наоборот.

Это ты про виндовс?
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235406
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlЭто ты про виндовс?
Нет, это я про Linux, где имя файла это тупо последовательность байт.
Под Windows-то имя файла NTFS это документировано фиксированный UTF-16.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235444
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovYesSqlЭто ты про виндовс?
Нет, это я про Linux, где имя файла это тупо последовательность байт.
Под Windows-то имя файла NTFS это документировано фиксированный UTF-16.

Дима, прежде чем начать пререкаться возьми и попробуй. Или хотя бы документацию почитай.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235464
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSql, а попробуй сделать в консоли

Код: python
1.
PS1='YesSql@\t:\w\$ ' 
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235470
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlДима, прежде чем начать пререкаться возьми и попробуй.
Кого ты хотел удивить локалью utf-8? Ты поставь сначала cp1251, потом koi8-r, а потом уже
utf-8. И посмотри, будет ли имя одного и того же файла с русскими буквами отображаться и
создаваться в них одинаково.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235474
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне почему-то вспоминается GI-GO и принцип "четности ошибок".
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235485
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonYesSql, а попробуй сделать в консоли

Код: python
1.
PS1='YesSql@\t:\w\$ ' 


спасибо mayton. Это офисный бокс.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235486
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы сделал вот что.

2 разных ЯП. Например С++ и Python.

2 сорца. Один создает файл с национальными буквами (хотя-бы 3 разных языка)

Другой читает этот файл

Оба сорца обязаны быть набиты в ASCII использовать escape-последовательности
для обёртывания букв. \u, \x e.t.c.

Без этого набора требований сложно что-либо доказывать.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235490
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovYesSqlДима, прежде чем начать пререкаться возьми и попробуй.
Кого ты хотел удивить локалью utf-8? Ты поставь сначала cp1251, потом koi8-r, а потом уже
utf-8. И посмотри, будет ли имя одного и того же файла с русскими буквами отображаться и
создаваться в них одинаково.

Дима, ты по моему что то говорил про ядро и что оно не понимает UTF-8 строчки.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235494
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБез этого набора требований сложно что-либо доказывать.

Достаточно применить мозг в попытке ответить на вопрос "как fopen() распознает кодировку
имени файла на входе при его создании?"
А потом уже повторяем тривиальный тест: создаём файл с русскими буквами в имени под любой
русской локалью и делаем ls под любой другой. Благо их на выбор - 866, 1251, koi8-r, utf-8.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235502
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlДима, ты по моему что то говорил про ядро и что оно не понимает UTF-8
строчки.
Не знаю что ты читал, но я говорил, что для ядра это вообще не строчки, а тупая
последовательность байт. И драйверу диска оно их отдаёт как есть. И драйвер ext4 (по
крайней мере) пишет их в каталог как есть, не пытаясь перекодировать в utf-8 или ещё куда-то.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39235889
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovд0kсразу делать правильно, в соотвествии с мейнстримом
Системной библиотеке, включая fopen и puts на этот мейнстрим совершенно положить...


Да, это правда. UTF-8, конечно же, mainstrean, но "их мейнстрим" пошёл немного в другом направлении, и UTF-8 там кажется места
вообще не отведено.
...
Рейтинг: 0 / 0
Как присвоить переменной CString массив wchar_t[256]?
    #39237014
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovд0kсразу делать правильно, в соотвествии с мейнстримом
Системной библиотеке, включая fopen и puts на этот мейнстрим совершенно положить...
В нормальных системах, файловые API и консоль давным давно по умолчанию работают с кодировкой UTF-8. Ставить в Linux-е locale с какой-то другой кодировкой -- непонятно зачем. В Windows, всё печальнее. Если используем Visual-овскую C-шную библиотеку (msvcrt.dll, или более позднюю), то можно путь файла преобразовать UTF-8 → UTF-16, а затем вызвать _wfopen. А вот как научить виндовую консоль понимать UTF-8 -- я не знаю.

Dimitry Sibiryakovд0kЯ не о библиотеках офтоплю, а о кросплатформенности
А я говорю из собственной практики: нет никакой кроссплатформенности в части работы с данными в кодировке utf-8.Есть. Если писать кросс-платформенную программу на C++, то лучше использовать UTF-8. Другое дело, что у автора вопроса в коде CString, а значит используется MFC или WTL, а значит программа не кросс-платформенная.

Dimitry SibiryakovЯдерные функции что Windows, что Linux, что ещё кого угодно, принимают строки исключительно в текущей локали.Значит, надо преобразовывать. Но основная масса кода должна работать с текстом в кодировке UTF-8.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как присвоить переменной CString массив wchar_t[256]?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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