programing:cpp_builder:cpp_builder-unicode
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| programing:cpp_builder:cpp_builder-unicode [2020/01/31 06:08] – [テーブル] yoko | programing:cpp_builder:cpp_builder-unicode [2020/01/31 12:29] (現在) – [文字列及び文字の移行] yoko | ||
|---|---|---|---|
| 行 3: | 行 3: | ||
| [[devtool/ | [[devtool/ | ||
| - | 文字列の扱い | + | 文字列の扱い変更対応 |
| - | ----------- | + | ----------------- |
| `UnicodeString`型が追加され、従来の `String`型,`Char`型,`PChar`型の定義が以下のように変更されている。({{https:// | `UnicodeString`型が追加され、従来の `String`型,`Char`型,`PChar`型の定義が以下のように変更されている。({{https:// | ||
| 行 12: | 行 12: | ||
| | `PChar` | | `PChar` | ||
| - | ### 文字列及び文字の移行 | + | ### 準備 |
| + | ソースファイルは全て UTF-8 のBOM付きに変換して保存しておく。 | ||
| + | |||
| + | ### 文字列及び文字の型移行 | ||
| 従来の`AnsiString`や`char`型も引き続き使えるが、将来の事も考えて以下のようにソースを修正。 | 従来の`AnsiString`や`char`型も引き続き使えるが、将来の事も考えて以下のようにソースを修正。 | ||
| 行 19: | 行 22: | ||
| | `char` | | `char` | ||
| | `char *` | `PChar` | | `char *` | `PChar` | ||
| - | |||
| - | * 尚、ソースファイルは全て UTF-8 のBOM付きに変換して保存しておく。 | ||
| ### 文字列定数及び文字定数の修正 | ### 文字列定数及び文字定数の修正 | ||
| 行 33: | 行 34: | ||
| `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: | 行 52: | ||
| + | その他注意点 | ||
| + | ---------- | ||
| + | |||
| + | ### 添え字番号の開始は1 | ||
| + | String型の文字列は文字配列のようにアクセスできるが、添え字の開始番号は 0 でなくて 1〜 なので注意。(0でアクセスすると例外トラップ) | ||
| + | |||
| + | <code c> | ||
| + | String text = L" | ||
| + | Char c = text[1]; | ||
| + | </ | ||
programing/cpp_builder/cpp_builder-unicode.1580450892.txt.gz · 最終更新: by yoko
