嘗試將std::string 寫入檔案時,您可能會遇到字元顯示為方塊而不是預期文字。這是因為 write() 方法在字串物件中儲存二進位數據,包括指標和資料長度。
但是,寫入文字檔案需要不同的方法。建議的方法是使用 ofstream (out-file-stream),其行為與 std::cout 類似,但將輸出定向到檔案。
要使用 std::string 寫入文字文件,您可以按照以下步驟操作:
範例程式碼snippet:
#include <fstream> #include <string> int main() { std::string input; std::cin >> input; std::ofstream out("output.txt"); out << input; out.close(); return 0; }
注意: out.close() 呼叫並不是絕對必要的,因為當out 超出範圍時,ofstream析構函數會自動處理此問題。
如果需要以二進位形式寫入文件,請使用 std::string 的 c_str() 方法來取得實際資料:
write.write(studentPassword.c_str(), studentPassword.size());
以上是如何在 C 中正確地將 std::string 寫入文字檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!