2017-01-20 85 views
0

我希望程序通過字符串將文字hello打印到文本文件中。使用字符串打印到c中的文本文件

#include <stdio.h> 

void main() 
{ 
    char word[10] = {"hello"}; 
    FILE*fp; 
    fp = fopen("C:\\temp\\Dictionary.txt", "w+"); 

    fprintf(fp, word[0]); 
} 
+0

那麼除了一些基本的語法錯誤外,還有什麼問題呢? –

+0

不知怎的,我不正確地使用fprintf,因爲文本沒有顯示到文本文件中。 –

+1

完全啓用您的編譯器警告。它應該抱怨'fprintf(fp,word [0]);' – chux

回答

2

你打印而不是字符串第一個字符。它也可能不是一個有效的格式。正確的電話將是fprintf(fp, "%s", word)。並且不要忘記關閉文件。

+0

如何掃描字符串單詞並將其放入字符串數組中?我目前使用scanf(「%s」,&word_entered [5]);但它不起作用。 Thnks –

+0

什麼是word_entered的類型?用問題中的代碼聲明,它應該是scanf(「%s」,word)。請參閱示例:http://www.cplusplus.com/reference/cstdio/scanf/請注意,雖然scanf從std中讀取,而不是從文件或其他字符串讀取。使用scanf掃描字符串被認爲是危險的,因爲有人可以輸入一個更長的字符串,然後緩衝區可以採取。 – Seva

+0

最有可能的scanf(「%s」,word_entered [5]);是你追求的。但它取決於實際的類型聲明。 – Seva

1

試試這個..

FILE *f = fopen("file.txt", "w"); 
if (f == NULL) 
{ 
    printf("Error opening file!\n"); 
    exit(1); 
} 

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

fclose(f); 
+0

我需要程序使用字符串。 –

相關問題