2015-05-03 50 views
-3

我開始學習C語言,目前正在編寫一個基於文本的基於彩票的小遊戲。但是我需要一種方法在遊戲結束時存儲這個值,所以它可以保存在下一個遊戲中。我在下面製作了一個簡單的代碼,代表我需要的代碼。請幫忙。C - 在.txt中讀取/寫入int變量

#include <stdio.h> 

int main() { 
    //TODO get "int saved" from save.txt 
    printf("Value saved: %d\n", saved); 
    printf("Add: "); 
    int add; 
    scanf("%d", &add); 
    int new = saved+add; 
    printf("New value: %d\n", new); 
    //TODO save "int new" to save.txt 
} 

save.txt的:

100 
+0

谷歌是你需要的時刻是什麼。如果問題仍然持續存在,請嘗試使用這個數字來解決特定的問題,請不要在這裏要求整體解決方案... –

+0

@ɢʜʘʂʈʀɛɔʘɴ是的,問題仍然存在。我找到的所有解決方案都是關於數組和/或文件中的多個數據。如果我真的在尋求整個解決方案,那麼我只需要在這裏打我的整個代碼並要求完整的解決方案。 – UToast

回答

0

試試這個

FILE *file; 
int saved; 
int add; 

file = fopen("saved.txt", "r"); 
if (file == NULL) 
{ 
    fprintf(stderr, "error opening `saved.txt'\n"); 
    return -1; 
} 

if (fscanf(file, "%d", &saved) != 1) 
{ 
    fprintf(stderr, "file `saved.txt' corrupted\n"); 
    fclose(file); 
    return -1; 
} 

fprintf(stdout, "please input an integer > "); 
if (scanf("%d", &add) != 1) 
{ 
    fprintf(stderr, "invalid input\n"); 
    fclose(file); 
    return -1; 
} 
fclose(file); 

file = fopen("saved.txt", "w"); 
if (file != NULL) 
{ 
    fprintf(file, "%d\n", saved + add); 
    fclose(file); 
} 
+0

我想覆蓋.txt int部分。如何將int new保存回.txt,替換第一個值? – UToast

+0

@UToast如果文件中總是有1個值,則上面的代碼有效。 –