programing:cpp_builder:cpp_builder-unicode
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| programing:cpp_builder:cpp_builder-unicode [2020/01/31 15:08] – [テーブル] yoko | programing:cpp_builder:cpp_builder-unicode [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | C++Builder Unicode対応 | + | ====== |
| - | ====================== | + | |
| [[devtool/ | [[devtool/ | ||
| - | 文字列の扱い | + | ===== 文字列の扱い変更対応 ===== |
| - | ----------- | + | |
| `UnicodeString`型が追加され、従来の `String`型,`Char`型,`PChar`型の定義が以下のように変更されている。({{https:// | `UnicodeString`型が追加され、従来の `String`型,`Char`型,`PChar`型の定義が以下のように変更されている。({{https:// | ||
| 行 12: | 行 10: | ||
| | `PChar` | | `PChar` | ||
| - | ### 文字列及び文字の移行 | + | ### 準備 |
| + | ソースファイルは全て UTF-8 のBOM付きに変換して保存しておく。 | ||
| + | |||
| + | ### 文字列及び文字の型移行 | ||
| 従来の`AnsiString`や`char`型も引き続き使えるが、将来の事も考えて以下のようにソースを修正。 | 従来の`AnsiString`や`char`型も引き続き使えるが、将来の事も考えて以下のようにソースを修正。 | ||
| 行 19: | 行 20: | ||
| | `char` | | `char` | ||
| | `char *` | `PChar` | | `char *` | `PChar` | ||
| - | |||
| - | * 尚、ソースファイルは全て UTF-8 のBOM付きに変換して保存しておく。 | ||
| ### 文字列定数及び文字定数の修正 | ### 文字列定数及び文字定数の修正 | ||
| 行 33: | 行 32: | ||
| `fopen`などのC標準関数は、`char`型を要求しているのでコンパイルエラーとなる。以下のように、`_w`を付加した関数名に変更する。 | `fopen`などのC標準関数は、`char`型を要求しているのでコンパイルエラーとなる。以下のように、`_w`を付加した関数名に変更する。 | ||
| <code c> | <code c> | ||
| + | String fname = L" | ||
| + | |||
| fp = fopen(fname.c_str(), | fp = fopen(fname.c_str(), | ||
| ↓ | ↓ | ||
| 行 49: | 行 50: | ||
| + | ===== その他注意点 ===== | ||
| + | |||
| + | ### 添え字番号の開始は1 | ||
| + | String型の文字列は文字配列のようにアクセスできるが、添え字の開始番号は 0 でなくて 1〜 なので注意。(0でアクセスすると例外トラップ) | ||
| + | |||
| + | <code c> | ||
| + | String text = L" | ||
| + | Char c = text[1]; | ||
| + | </ | ||
| - | 所感 | + | ===== 所感 |
| - | ---- | + | |
| 最初は「かなり思い切った仕様変更だな」と戸惑ったが、ソース修正は必要だが上記要領で案外スムーズに動いた。 | 最初は「かなり思い切った仕様変更だな」と戸惑ったが、ソース修正は必要だが上記要領で案外スムーズに動いた。 | ||
| - | 参考 | + | ===== 参考 |
| - | ---- | + | |
| - | 1. {{https:// | + | - {{https:// |
| - | 2. [[http:// | + | |
| - | 3. [[https:// | + | |
| - | 4. [[https:// | + | |
| - | 5. [[https:// | + | |
| - | 6. [[http:// | + | |
| - | 7. [[https:// | + | |
| - | 8. [[http:// | + | |
| - | 9. [[https:// | + | |
| - | 10. [[https:// | + | |
programing/cpp_builder/cpp_builder-unicode.1580450892.txt.gz · 最終更新: by yoko
