2015-05-09 29 views
-2

我嘗試瞭解如何保存文本文件,同時讓用戶編寫此文本文件的名稱。關於在C編程中保存文本文件

char filename[20]; 
gets(filename); 
fp = fopen (filename, "wb+"); 

當我保存它時,它不會是一個文本文件。

我可以做到f=fopen("file.txt", "r")但我希望名稱是由用戶選擇。

+1

什麼是 「它不會是一個文本文件」 是什麼意思?你可能期望* extension *'.txt'被自動添加? – usr2564301

+0

是的,我可以通過f = fopen(「file.txt」,「r」);但我想這個名字是由用戶選擇的。 –

回答

0

先獲取文件名:

char name[100] = {0}; 
fgets (name, 100, stdin); 

然後創建文本文件:

// Open as text file 
FILE *f = fopen(name, "w"); 
if (f == NULL) 
{ 
    printf("Error opening file!\n"); 
    exit(1); 
} 

// write some text 
const char *text = "Write this to the file"; 
fprintf(f, "Some text: %s\n", text); 

fclose(f); 
+0

它的工作原理,但正如我之前提到它不保存爲.txt –

+0

@Abdullah穆罕默德:你是什麼意思,它不保存爲TXT?輸入名稱test.txt –

+0

好的,我想我找出問題所在。謝謝 。 –