.txtファイルに書き込みますか?


149

どうすれば小さなテキストを.txtファイルに書き込むことができますか?3〜4時間以上グーグルを使用していますが、その方法を見つけることができません。

fwrite(); 非常に多くの議論があり、私はそれを使用する方法がわかりません。

.txtファイルに名前といくつかの数字のみを書き込みたい場合に使用する最も簡単な関数は何ですか?

編集:私のコードの一部を追加しました。

    char name;
    int  number;
    FILE *f;
    f = fopen("contacts.pcl", "a");

    printf("\nNew contact name: ");
    scanf("%s", &name);
    printf("New contact number: ");
    scanf("%i", &number);


    fprintf(f, "%c\n[ %d ]\n\n", name, number);
    fclose(f);


@ user1054396:問題は印刷(問題ありません)ではなく、介した読み取りにありscanfます。を読み取る場合%sは、単一の文字ではなく、十分な長さのバッファーに読み取る必要があります。
Kerrek SB、2012

回答:


268
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);

/* print integers and floats */
int i = 1;
float py = 3.1415927;
fprintf(f, "Integer: %d, float: %f\n", i, py);

/* printing single chatacters */
char c = 'A';
fprintf(f, "A character: %c\n", c);

fclose(f);

1
あなたはあなたがπをpyではなくpiとして書くことを知っていますか?
Wouterr

21
FILE *fp;
char* str = "string";
int x = 10;

fp=fopen("test.txt", "w");
if(fp == NULL)
    exit(-1);
fprintf(fp, "This is a string which is written to a file\n");
fprintf(fp, "The string has %d words and keyword %s\n", x, str);
fclose(fp);

-4

さて、あなたは最初にCの良い本を手に入れ、言語を理解する必要があります。

FILE *fp;
fp = fopen("c:\\test.txt", "wb");
if(fp == null)
   return;
char x[10]="ABCDEFGHIJ";
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);
fclose(fp);

2
fprintf()またはを使用する場合と比較して、それは大変な作業fputs()です。特にfprintf()いくつかの数字も書かなければならないので。
ジョナサンレフラー

6
そして"c:\\test.txt"、ありそうもないファイル名です。質問のタグはlinuxです。
Keith Thompson、

13
-1 OPは、最も使いやすい機能を求めました。そして、テキストを書くために、あなたはバイナリモードでファイルを開いています。また、オープンエラーの報告に失敗することはよくありません。
ジムバルター2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.