stdstring

    0

    3答えて

    私はいくつかの非常によく質問をしましたが、私が知りたかったものではないので、私は自分自身に尋ねることにしました。 std :: stringを関数(DLLから)に渡すべきではないことがたくさんありました。すべてがCRT、プラットフォームのバージョンなどと一致する必要がありますが、const * charを安全に渡すことができます関数とし、.dllの内部でstd :: stringを使用しますか?

    3

    4答えて

    std::stringをcharから作成する。例えば、グラム++で、 #include <string> int main() { char c = 'a'; std::string s(c); return 0; } をコンパイルされません、私はこの多くのエラーを取得 foo.cpp: In function 'int main()': foo.cpp

    1

    1答えて

    libc++私はbasic_string destructorが呼び出されないことを発見しました。演算子をdestructorと呼び、destructorから削除演算子を呼び出すのはなぜですか? これを説明できる人はいますか? サンプルプログラムに新しいオン void * operator new (size_t len) throw (std::bad_alloc) { void *

    -1

    4答えて

    関数に渡された文字列の長さを表示するのではなく、文字列の更新された長さを返すのはなぜですか? #include <string> #include <iostream> using namespace std; int number_needed(string a, string b) { for(int i=0;i<a.length();i++) { fo

    1

    3答えて

    いくつかのログファイルを読んでいます。 Windowsのログには、C:\some\pathのようなパスが含まれています。 std::getlineと読むと、エスケープされていないバックスラッシュを含む文字列が得られます。どのようにスラッシュで置き換えることができますか? 私は std::replace(str.begin(), str.end(), '\\', '/'); を試みたが、結果はC

    2

    1答えて

    私はeclipse、mingw-w64、gtkmm2.4、gladeを使って簡単なプログラムをコンパイルしています。 私はhello world gtkmmの例をチュートリアルの後にコンパイルすることができますが、gladeになると少し奇妙なエラーが出てきます。 2.24簡単な例チュートリアルhttps://developer.gnome.org/gtkmm-tutorial/2.24/sec-b

    0

    1答えて

    私はバッファからstd :: stringを構築しようとしていますが、私は奇妙な問題があります。 は、コードのこの2点の作品が異なっているようだ: std::string myfun() { .... std::string rv{}; if (....) { char ibuff[256]; memcpy(ibuff, m_buf

    0

    1答えて

    次のコードがありますが、コンパイルできません。 私は理由を考えることができません、拾い読みしてください。 rapidjson::Document jsonDoc; jsonDoc.SetObject(); rapidjson::Document::AllocatorType& allocator = jsonDoc.GetAllocator(); rapidjson::Value mess

    -1

    4答えて

    テキストサイズが等しい場合にポインタが同じになることが理解できませんでした。 firstStringObj :: c_str()は前のポインタを上書きしているようです。 #include <iostream> #include <string> #include <string> #include <stdio.h> std::string getConstCharAndModifyIt

    2

    1答えて

    特定のAPIを公開するDLLを作成しようとしています。そのため、DLL境界で文字列をコピーする安全な方法を実装する必要がありました。 DLL実装は非常に単純です。文字列値を返すすべての関数は、char*とsize_t&という2つの引数をとります。サイズが十分大きい場合は、memcpyの文字列の内容をDLL内から指定されたポインタに移動し、サイズを実際のものに設定し、成功したリターンコードを返します