stdstring

    0熱度

    1回答

    在Visual Studio 2013中,我創建了一個std :: vector並在其中存儲了一些字符串。然後,我想在vector中創建一些字符串的副本,並將它們追加到最後(假設在insert將擦除後將它們移動到最後),但是使用insert方法,我只在末尾看到空字符串,非常奇怪。我用一些簡單的測試代碼重現它, std::vector<std::string> v; std::string s =

    1熱度

    1回答

    我目前正試圖實現我自己的標準輸入讀取器供個人使用。我創建了一個從標準輸入中讀取整數的方法,並對其有效性進行了一些檢查。我的想法是,我從標準輸入讀取一個字符串,做幾次檢查,轉換爲int,做最後的檢查,返回已讀取的值。如果發生任何錯誤,我將只填寫errorHint以在std::cerr上打印並返回std::numeric_limits<int>::min()。 我認爲這個想法非常簡單直接的實現,現在我

    1熱度

    1回答

    在Windows上使用Visual Studio 2015年 // Ü // UTF-8 (hex) 0xC3 0x9C // UTF-16 (hex) 0x00DC // UTF-32 (hex) 0x000000DC using namespace std::string_literals; const auto narrow_multiby

    1熱度

    1回答

    我遇到這種模式的多個實例(與升壓::文件系統只作爲例子): boost::filesystem::path path = ...; someFunctionTakingCStrings(path.string().c_str()); 其中 const std::string path::string() const { std::string tmp = ... ret

    0熱度

    1回答

    我試圖從緩衝區生成一個std :: string,但我有一個奇怪的問題。 似乎這種兩件式的代碼是不同的: std::string myfun() { .... std::string rv{}; if (....) { char ibuff[256]; memcpy(ibuff, m_buffer + off - 28, len);

    0熱度

    1回答

    我有以下代碼,但它不能編譯。 我想不出一個理由,請高興。 rapidjson::Document jsonDoc; jsonDoc.SetObject(); rapidjson::Document::AllocatorType& allocator = jsonDoc.GetAllocator(); rapidjson::Value messageArr(rapidjson::kArray

    -1熱度

    4回答

    我無法理解,當文本大小相等時,指針如何可以相同。看起來像firstStringObj :: c_str()會覆蓋前一個指針。 #include <iostream> #include <string> #include <string> #include <stdio.h> std::string getConstCharAndModifyItWithANewString(const c

    2熱度

    1回答

    我想讓一個DLL公開某個API,因此想實現一個安全的方式來複制DLL邊界上的字符串。 DLL實現非常簡單 - 所有返回字符串值的函數都帶有兩個參數 - char*和size_t&。如果大小足夠大,則將DLL內部字符串的內容寫入給定指針,將大小設置爲實際大小並返回成功的返回碼。如果不是,我將它的大小設置爲它應該返回的錯誤代碼。 DLL方面非常簡單。 現在更復雜 - 如何製作一個很好的模板函數,該函數

    0熱度

    2回答

    我想使用std :: string進行動態字符串處理。數據被追加並附加到一個字符串,有時我不想在索引i處設置字符的值。我不知道有多少字符會被添加到字符串中。像.NET中的動態集合。 當我在分配C++爲std :: string std::string s; ,並嘗試在索引i爲它設置元件: s[0] = 'a'; 它將通過與存儲器錯誤。 一個笨方法是初始化它存在的數據,後來換成: std::

    1熱度

    1回答

    我想比較stringstream的輸出與一些字符串。 問題是當我在stringstream上使用fill和width時,我無法將結果字符串與預加載的字符串進行比較。 std::stringstream sstr; sstr.fill(' '); sstr.width(4); sstr << 4 << std::endl; if(" 4" == sstr.str()){ std::cout