[ホーム] > [間違えやすい類語 IT編一覧] > [strcpy と lstrcpy の違い]
このページでは C言語の関数である strcpy と lstrcpy の違いに関して比較表で説明します。 lstrcpy はマイクロソフト独自の関数です。見てわかる通り、アドレスの型が異なります。。lstrcpyのほうが文字コードを意識した関数となっています。
(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。
説明 | strcpy | lstrcpy |
定義 | char *strcpy( char *strDestination, const char *strSource ); | LPTSTR lstrcpy( LPTSTR lpString1, LPCTSTR lpString2 ); |
元 | C Run Time Library | WIN 32 API |
引数 | 8 ビット char 型として動作する。 マルチバイト、UNICODEは意識しないのでプログラマー側が考慮する必要がある。(特に日本語などのマルチバイト文字) 考慮漏れするとマルチバイト、ワイド文字が途中で区切られて、文字化けの原因となる。 | ワイド文字(UNICODEが定義)の場合はlstrcpyW マルチバイト文字(UNICODEが未定義)の場合はlstrcpyA コピー処理の場合、それぞれが考慮されてコピーされる。 |
どのようなとき | コピーする文字を8ビット文字(1文字1バイトのアルファベットや数字からなる文字)として扱う場合。 | コピーする文字をマルチバイト、ワイド文字と意識してコピーする場合。 |
[ホーム] > [間違えやすい類語 IT編一覧]
,