1. 程式人生 > 其它 >C++使用ofstream儲存string,讀取出現亂碼的解決

C++使用ofstream儲存string,讀取出現亂碼的解決

技術標籤:c++亂碼

C++使用ofstream儲存string,讀取出現亂碼的解決


昨天寫C++的作業儲存類的時候,string讀出來一直亂碼

我是使用這個儲存的

 ofstream out("save.dat", ios::app|ios::binary);
			 out.write((char*)&st, sizeof(st));
		out.close();
i		//---------------------------
 ifstream in("save.dat", ios::binary);
			 in.read
((char*)&st, sizeof(st)); in.close();

將string轉換成char【】發現就可以正常讀取了

char time_save[20];//要儲存的字元陣列
string date;//要轉換的字串
for (i = 0; i < date.length(); i++)
			        time_save[i] = date[i];
			time_save[i] = '\0';

原因我也不是很清楚,大概是因為string是一個封裝好的類,不是原始資料型別吧。