strtok

[戻る]
ガラ 2007/01/28(日) 17:36:56
OS XP 
VC++ 6.0

strtok で引数を(char *)とせず、CStringとしたいのですが、エラーがでます。
どうしてでしょうか?ご存知の方よろしくおねがいします。

CString buff = "ABCDEFG" ;    // char buff[] = ... としたくないのです。
char seps[]   = "\t\n";
char *token;
    
token= strtok( (char *)buff, seps )) ; 

エラーメッセージ

'type cast' : 'class CString' から 'char *' に変換することはできません。

ガラ 2007/01/28(日) 17:45:42
[[解決]]
もうしわけございません、過去ログにありました。
かいけつずみとさせていただきます。
 CString cs,data;
    int i=0,j=0;
    cs="あいうえお,ABC,1234567,あA1,";

    data=cs.Mid(0,cs.Find(",",i)); 
    MessageBox(NULL,data,"1番目の文字列は",MB_OK);
    i=cs.Find(",",i+1);
    j=cs.Find(",",i+1);
    data=cs.Mid(cs.Find(",",i)+1,cs.Find(",",j)-cs.Find(',',i)-1);
    MessageBox(NULL,data,"2番目の文字列は",MB_OK);
    i=cs.Find(",",i+1);
    j=cs.Find(",",i+1);
    data=cs.Mid(cs.Find(",",i)+1,cs.Find(",",j)-cs.Find(',',i)-1);
    MessageBox(NULL,data,"3番目の文字列は",MB_OK);
    i=cs.Find(",",i+1);
    j=cs.Find(",",i+1);
    data=cs.Mid(cs.Find(",",i)+1,cs.Find(",",j)-cs.Find(',',i)-1);
    MessageBox(NULL,data,"4番目の文字列は",MB_OK);

古いスレッドには追加発言できません。