2017-01-20 9 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

私は文字列を操作するプログラムが必要です。 –

関連する問題