使用std::string 進行檔案寫入:解開謎團
當嘗試將std::string 寫入檔案時,使用者可能會遇到意外的結果框或損壞的字元。這個問題是由於寫入字串的二進位資料而引起的,其中包含指標和字串長度,而不是實際的字元。
對於文字文件,適當的解決方案是使用 ofstream,其操作類似於 std ::cout 但將輸出定向到文件。考慮以下範例:
#include <fstream> #include <string> int main() { std::string input; std::cin >> input; std::ofstream out("output.txt"); out << input; out.close(); return 0; }
但是,如果需要二進位數據,則應使用實際的字串字元。這可以使用 string::c_str():
write.write(studentPassword.c_str(), studentPassword.size());
以上是如何正確地將 std::string 寫入 C 中的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!