-PR-
解決
済み

CStringからchar*への型変換について教えてください。

  • すぐに回答を!
  • 質問No.41311
  • 閲覧数14993
  • ありがとう数9
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 60% (48/80)

以前の質問に

int型 → CString型/char型

がありましたが、

CString型をchar*型に変換する方法を
教えていただければありがたいです。

MSDNで「LPCTSTRキャスト」が説明されていましたが、
例が載ってないのでよくわかりませんでした。

よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 37% (570/1525)

目的にもよりますが一時的にchar配列として使いたいならCString::GetBuffer()が利用できます。
char配列としての利用が終わったらCString::ReleaseBuffer()する必要がありますが。

直接CString内の文字列を扱う必要があるならCString::operator LPCTSTRで文字列ポインタが得られます。
ただし、CStringオブジェクトをいじると無効ポインタなる可能性があるので気をつけてください。

MSDNのMicrosoft Foundation Classリファレンス→CString→クラスメンバで確認してください。
お礼コメント
zico

お礼率 60% (48/80)

大変参考になりました。ありがとうございました。
投稿日時 - 2001-03-13 19:16:19
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル12

ベストアンサー率 57% (232/402)

LPCTSTRキャストは要するに「const TCHAR*」へのキャストになるので、そのままではchar*としては使えません。 そのため、この場合は「(LPTSTR)(LPCTSTR)hogehoge」という形で、「CString→LPCTSTR→LPTSTR」と二段階キャストをすると、ただの「TCHAR*」にキャストができますから、Unicode環境でなければchar*として使えます。 Unicod ...続きを読む
LPCTSTRキャストは要するに「const TCHAR*」へのキャストになるので、そのままではchar*としては使えません。
そのため、この場合は「(LPTSTR)(LPCTSTR)hogehoge」という形で、「CString→LPCTSTR→LPTSTR」と二段階キャストをすると、ただの「TCHAR*」にキャストができますから、Unicode環境でなければchar*として使えます。
Unicode環境の場合は残念ながらよくわかりません。
お礼コメント
zico

お礼率 60% (48/80)

大変参考になりました。ありがとうございました。
投稿日時 - 2001-03-13 17:49:56


  • 回答No.3
レベル7

ベストアンサー率 18% (4/22)

自信はないのですが、ちょっと書きたかったので・・・。 --------------- CString cStr = _T("文字列"); char * str = new char[cStr.GetLength() + 1]; strcpy(str,cStr); ~~~ delete [] str; --------------- ↑このようにす ...続きを読む
自信はないのですが、ちょっと書きたかったので・・・。


---------------

CString cStr = _T("文字列");
char * str = new char[cStr.GetLength() + 1];

strcpy(str,cStr);

~~~
delete [] str;

---------------
↑このようにすればstrにコピーできます。
正しい方法かどうかは分かりませんが。
別にnewでメモリーを確保しなくても普通の配列変数でいいですよ。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ