0

さらに処理するために文字列をバッファにコピーしようとしています。指導を利用しました

char *buf = line.c_str();

しかし、bufタイプは であるべきですがconst char*、私が使用する場合

const char *buf = line.c_str();

strtok_sを処理する関数を使用しているため、別の問題に直面しますbuf。この関数は引数を期待していchar *ます。ではなくconst char*。この行をコピーする別の機能または方法はありますかchar *??

4

2 に答える 2

1

これを試して。

char* buf = strdup(line.c_str());
// use strtok_s however you need
free(buf);

strtok_s は実際にデータを変更するため、変更せずにバッファを直接使用することはできません。c_strデータをそのままにしておくことを望んでいます。

変更を気にしない場合は、次のようにします。

char* buf = &line[0];
于 2013-06-02T04:00:00.207 に答える