像往常一樣,指針問題。這次我想讀取一個文件(以二進制模式打開)並將其一部分存儲在一個std :: string對象中。 讓我們看看:C++ fread()轉換成std :: string
FILE* myfile = fopen("myfile.bin", "rb");
if (myfile != NULL) {
short stringlength = 6;
string mystring;
fseek(myfile , 0, SEEK_SET);
fread((char*)mystring.c_str(), sizeof(char), (size_t)stringlength, myfile);
cout << mystring;
fclose(myfile);
}
這可能嗎?我沒有收到任何消息。我相信這個文件是O.K.當我嘗試使用char *時,它確實可行,但我想將它直接存儲到字符串中。謝謝你的幫助!
豬頭...你從c_str得到()是不可變... –
註釋上方並回答以下都是正確的,但如果你使用的是C++,你爲什麼要使用文件I C成語/ O –
,並將它關閉,C++流式傳輸以供後續輸出。 –