В различном C++ кодируют Вас, часто смотрите другое использование строк: PWSTR, символ*, станд.:: строка, CString, и т.д...
Когда наилучшее время должно использовать PWSTR по сравнению с каким-либо другим строковым типом?
Хорошо, с вопросом, включая список желаний API ...; -)
Вы можете использовать Jlayer для воспроизведения MP3 на JVM. На Ubuntu он упакован как libjlayer-java. Там простой пример использования в Java здесь . Clojure обертка:
(defn play-file [filename & opts]
(let [fis (java.io.FileInputStream. filename)
bis (java.io.BufferedInputStream. fis)
player (javazoom.jl.player.Player. bis)]
(if-let [synchronously (first opts)]
(doto player
(.play)
(.close))
(.start (Thread. #(doto player (.play) (.close)))))))
Применение (игра-файл "/path/to/file.mp3")
для воспроизведения mp3-муху в отдельном потоке, (игра-файл" / путь /to/file.mp3 "true)
Если вы предпочитаете воспроизводить его на текущем потоке. Твик по своему вкусу. Снабжать свой громкий звуковой сигнал и лай собаки mp3. ; -)
Для нагрузки звуковой сигнал и тому подобное, вы также можете использовать MIDI ... Возможно, это вход в блоге будет полезен, если вы решите попробовать.
Кроме того, ссылка из моего первоначального ответа может быть полезной в вашей настройке: Java Sound Resources: ссылки .
-121--3375352- Pwstr будет WHAR_T
string Picketer. Это строка Unicode (обычно UCS2) с каждым персонажем, принимающим 16 бит.
А CHAR *
будет указатель 8 бит на персонаж. Это может быть ASCII, ANSI, UTF8 или один из сотен других кодировков. Хотя вам нужно только беспокоиться о кодировках, если вам нужна строка для удержания языков, отличных от английских или специальных символов.
В целом, API Windows - все Unicode внутри, поэтому большинство программистов Windows используют строки WCRA. Но STD :: string
и CSTRING
может быть Unicode, если правильные символы # определяются
, поэтому ваш выбор между pwstr
, STD :: string
и CString
будет вопросом предпочтений или Конвенции кодовой базы, с которой вы работаете.
Лучшее время для использования PWSTR - это если весь код, который вы редактируете / продлен, уже используют его. Обычно лучше продолжать кодировать в парадигме любого кода, над которым вы работаете.
Точно так же, если вы прилагаете тяжелое использование определенной библиотеки, которая определенно объявляет его строки, обычно лучше всего сохранить этот тип строки в вашем собственном коде. Таким образом, работа с Windows MFC, вы бы использовали CString. Win32 старого стиля обычно будет LPCTSTR и аналогичным.
Это часто в стиле, а не конкретным деталям реализации.
-121--3879795-pwstr = указатель на широкую строку = wchar * в Windows
Windows SDK очень подвешен на Typedefs для типов и указателей на типы.
«Когда в Риме» - используйте любой тип строки проекта, который вы работаете над требуемым. Типы строк не важны, чтобы выделить или пытаться заставить свой истинный способ на то, что используется.
PWSTR
- идентификатор где-то в
. Лучше всего использовать при работе с функцией Windows API, которая требует такой вещи, и лучше избежать иначе.
Посмотрите на файл winnt.h в Windows SDK - вы увидите, что PWSTR - Typedef для WCRAL *. Это не макрос.
, когда какая библиотека, с которой вы работаете с хочется PWSTR
. Это A, в соответствии с Конвенцией именования, используемой в Windows, указатель на строку широко-символов.
По умолчанию вы должны использовать std :: string
/ std :: wstring
. Только когда вы интерфейс с кем-то ожидаете чего-то еще, вы должны изменить это.
Вы можете получить PCWSTR
из STD :: WString
с методом C_STR ()
. CString
- MFC, если я вспомню.
Это из API Windows.
Я помню это так.
Это p -inointer до w .
Это будет использоваться в приложении Unicode. Его использование было бы, когда вы делаете звонки в Windows. Лучший тип будет на самом деле LPTSTR
P -ointer к T --строку (либо Unicode или ANSI.
Лучшее время для использования pwstr - это если весь код, который вы редактируете / продлен, уже используют его. Обычно лучше продолжать кодировать в парадигме любого кода, над которым вы работаете.
Аналогично, если вы используете тяжелое использование конкретной библиотеки, которая определенно объявляет его строки, обычно лучше всего сохранить этот тип строки в вашем собственном коде. Таким образом, работа с Windows MFC, вы бы использовали CString. Win32 старого стиля обычно будет LPCTSTR и аналогичным.
Часто дело в стиле, а не конкретную детализацию реализации.