1

const char *以下に示すように受け入れる1つの方法があります-

bool get_data(const char* userid) const;

以下は、get_data渡してメソッドを呼び出す必要がある for ループconst char *です。現在、以下のループで使用していますuint64_tuint64_tこれを変換してメソッドconst char *に渡す必要があります。get_data

for (TmpIdSet::iterator it = userids.begin(); it != userids.end(); ++it) {
    // .. some code
    // convert it to const char *
    mpl_files.get_data(*it)
}

ここTmpIdSettypedef std::set<uint64_t> TmpIdSet;

uint64_tだから私の質問は、上記のコードをどのように変換すればよいconst char *ですか?

4

3 に答える 3

3

1 つの方法は、最初にstd::stringusing std::to_stringstd::string::c_str()に変換してから、メンバー関数を使用して生データにアクセスすることです。

#include <string>

....

uint64_t integer = 42;
std::string str = std::to_string(integer);
mpl_files.get_data(str.c_str());
于 2014-05-30T00:10:19.897 に答える
1
 mpl_files.get_data( std::to_string( *it ).c_str() )

<string>ヘッダーを含めます。g++ の場合は を指定します-std=c++11

于 2014-05-30T00:10:26.840 に答える