Russian Qt Forum
Ноябрь 23, 2024, 11:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: char vs wchar_t  (Прочитано 3815 раз)
Gorthad
Гость
« : Октябрь 08, 2013, 00:00 »

Привет.
Недавно написал прогу на C, в ней происходит обработка (считывание, вывод) файлов особого формата.
Не думал, что из нее выйдет что-то серьезное и многоразовое, но в результате увлекся и уже почти дописал GUI в Qt.
Везде в ней использовались функции стандартной библиотеки stdio.h и все строки были массивами из char'ов, в том числе имена файлов.
Вопрос: насколько это плохо? Имеет ли смысл заменять char'овые функции на wchar_t и функции иже с ними (printf на wprintf и тд)?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Октябрь 08, 2013, 00:50 »

думаю лучше вообще полностью перейти на Qt I/O — будет проще портировать на другие системы (размер wchar_t может быть разный).

wide-функции нужны для работы с юникодом (например, если имя или путь к файлу содержит юникод-символы). если такое крайне маловероятно, то ИМХО лучше не заморачиваться — себе дороже выйдет.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Gorthad
Гость
« Ответ #2 : Октябрь 08, 2013, 01:37 »

Спасибо за ответ!
Вопрос: почему выйдет себе дороже? Какие подводные камни?

Насколько вероятно то, что имя файла будет в юникоде? Что будет, если оно в юникоде, а считывать в обычный массив char?
« Последнее редактирование: Октябрь 08, 2013, 01:40 от Gorthad » Записан
maint
Гость
« Ответ #3 : Октябрь 08, 2013, 04:11 »

я использую только char для имен файлов и не использую функции QT. Поэтому у мнея все всегда открывается при работе с файлом
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #4 : Октябрь 08, 2013, 09:38 »

Насколько вероятно то, что имя файла будет в юникоде? Что будет, если оно в юникоде, а считывать в обычный массив char?
А вы переименуйте файл в 文件名.扩张 скажем и проверьте.
Записан
silverrulezz
Гость
« Ответ #5 : Октябрь 08, 2013, 09:44 »

Цитировать
Насколько вероятно то, что имя файла будет в юникоде?
Ты сам контролируешь что делает твоя программа. Все зависит от функционала программы. Если ты используешь QFileDialog или его аналоги то вероятность велика.

Цитировать
Вопрос: почему выйдет себе дороже? Какие подводные камни?
Никаких подводных камней нету. Нужно просто заставить себя использовать unicode функции.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.