我希望程序通過字符串將文字hello打印到文本文件中。使用字符串打印到c中的文本文件
#include <stdio.h>
void main()
{
char word[10] = {"hello"};
FILE*fp;
fp = fopen("C:\\temp\\Dictionary.txt", "w+");
fprintf(fp, word[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]);
}
你打印而不是字符串第一個字符。它也可能不是一個有效的格式。正確的電話將是fprintf(fp, "%s", word)
。並且不要忘記關閉文件。
如何掃描字符串單詞並將其放入字符串數組中?我目前使用scanf(「%s」,&word_entered [5]);但它不起作用。 Thnks –
什麼是word_entered的類型?用問題中的代碼聲明,它應該是scanf(「%s」,word)。請參閱示例:http://www.cplusplus.com/reference/cstdio/scanf/請注意,雖然scanf從std中讀取,而不是從文件或其他字符串讀取。使用scanf掃描字符串被認爲是危險的,因爲有人可以輸入一個更長的字符串,然後緩衝區可以採取。 – Seva
最有可能的scanf(「%s」,word_entered [5]);是你追求的。但它取決於實際的類型聲明。 – Seva
試試這個..
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);
我需要程序使用字符串。 –
那麼除了一些基本的語法錯誤外,還有什麼問題呢? –
不知怎的,我不正確地使用fprintf,因爲文本沒有顯示到文本文件中。 –
完全啓用您的編譯器警告。它應該抱怨'fprintf(fp,word [0]);' – chux