我是用C++新(和文件輸入輸出),我學會了如何使用fprint打印從.txt東西在一個格式化的風格,但如何搜索某個值並將該值保存在局部變量中?下面是代碼保存:讀一個.txt文件保存在CPP和保存價值的局部變量
void savestate(state a){ //state is a struct with data I need such as position etc
FILE * save;
int data[]= { a.level, a.goalX, a.goalX, a.monX, a.monY };
save = fopen("game.txt", "wb"); // << might have to use suggestion C
fwrite(data, sizeof(int), sizeof(data), save); // is this actually the correct way to do it?
fclose(save);
}
爲負載,我堅持這一點:
void loadstate(){
FILE* save;
save = fopen("game.txt", "rb");
if(save== NULL) perror("no savegame data");
else{
// don't even know what function I should use
}
順便說一句,我以後激活保存功能,game.txt中不以相當可讀的格式。我可以在我的記事本中打開,但是它顯示了一些像「ÌÌÌÌÌÌÌÌÌÌøøÁ_ÌÌÌÌ̃ƒ」這種沒有意義的東西。任何想法? :d寫作的
不要將'.txt'文件寫成二進制文件。您正在編寫位,而不是上面的代碼中的ASCII。 'fwrite'的參數是'buffer,size,count,stream' - 'sizeof(data)'不是'data'中元素個數的個數。 – Yakk 2014-10-29 15:19:21
@Yakk對不起,我不是很懂,我在cplusplus教程中遵循了一個例子。我怎麼知道我是否將.txt寫成二進制文件和ASCII碼?我會嘗試改變的sizeof只是5然後 – Rei 2014-10-29 15:24:29
在C++中使用標準的類和函數[I/O庫(http://en.cppreference.com/w/cpp/io)!如果你堅持使用'FILE *',使用'fprintf()'函數將文本寫入文件。 – 2014-10-29 15:27:22