vector<string> を引数として渡すには?

[戻る]
ooo 2002/06/21(金) 15:42:43
VC超初心者なのですが、vector<string>で指定した内容をchar*型のように
引数として渡すことは可能でしょうか?
コンパイルするとbasic_strはconst char* にキャストできないというエラーになります。
<string>はどのようにchar*とキャストできるのでしょうか?
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
int
main( ) {
         char sbuff[MAX_PATH];
    vector<string>  sVec;
    sVec.push_back(  "aaa" );
    sVec.push_back(  "bbb" );
    sVec.push_back(  "ccc" );

    for ( vector<string>::iterator i = iVec.begin( ) ; i != iVec.end( ) ; 
i++ ) {
        cout << *i << endl ;
                  strcpy( sbuff, *i )
    }

dairygoods 2002/06/21(金) 16:10:40
const char* にはキャストできませんが、c_str()という関数で
const char* を得ることはできます。

strcpy( sbuff, i->c_str() )

YuO [E-Mail] 2002/06/21(金) 16:39:51
string::copyというメンバ関数もあります。

i->copy(sbuff, i->length());
sbuff[i->length()] = 0;

ooo 2002/06/21(金) 16:40:07
[[解決]]
できました!!どうもありがとうございました。
素早い回答に大変感謝しております。

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