CStringクラスのMid()の使用方法について

解決


さら  2006-06-21 23:22:25  No: 62260

CStringクラスのMid()の使用方法がわからず、
"error C2679: 二項演算子 '=' : 型 'class CString' の右オペランドを扱う
演算子は定義されていません。(または変換できません)"という
エラーとなってしまいます。

CString a;
char *m;

a = "aabbbcc";
m = a.Mid(3,3);

#include <string>などについても確認中ですが、
何かご教授下さい。
それとMidの使い方についても・・・。
(これであっていますか?)

よろしくお願いします。


Blue  2006-06-21 23:27:22  No: 62261

CStringから取得できるのは LPCTSTR( const char* ) です。

> char *m;
const char *m;

とすればとりあえずコンパイルは通ります。

char*がほしい場合は別の領域を用意して、strcpyなりしてください。


Blue  2006-06-21 23:30:03  No: 62262

ちなみに、Midメソッドの戻り値はCStringなので
一般的には

CString a( _T( "aabbbcc" ) );
CString m = a.Mid( 3, 3 );

となります。


PATIO  2006-06-21 23:51:33  No: 62263

Blueさんの返信で事足りてますが、
CString::MidをMSDNやHELPで調べてみれば、多分エラーの内容も理解できると思うんですが、
調べて見たのでしょうか?
調べてけれどわからなかったと言う場合は、C++言語の勉強が必要ではないかと言う気がします。
MFCを使うのであれば、基本的にC++言語は理解していないと色々難しいです。
コンソールプログラムでC++言語の入門書を勉強してからの方が効率は良いと思います。


さら  2006-06-22 00:40:36  No: 62264

Blueさん、PATIOさん、
回答ありがとうございます。

CString a( _T( "aabbbcc" ) );
CString m = a.Mid( 3, 3 );
で解決しました。
ありがとうございました。

C++言語はまだ全くといっていいほど初心者です。
まずはC++言語を理解しないといけないのですね〜。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加