.Txt dosyasına yazılsın mı?


150

Bir .txtdosyaya nasıl küçük bir metin parçası yazabilirim ? 3-4 saatten fazla bir süredir Google'da çalışıyorum, ancak nasıl yapılacağını bulamıyorum.

fwrite(); çok fazla argüman var ve bunu nasıl kullanacağımı bilmiyorum.

Bir .txtdosyaya yalnızca bir ad ve birkaç numara yazmak istediğinizde kullanabileceğiniz en kolay işlev nedir ?

Düzenleme: Kodumun bir parçası eklendi.

    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: Sorun yazdırmayla ilgili değil (doğru anladınız), üzerinden okurkenscanf . Eğer okursanız %s, yeterli uzunlukta değil, tek karakter bir tampona okumak gerekir.
Kerrek SB

Yanıtlar:


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

2
Π 'yi py değil pi olarak yazdığınızı biliyor musunuz?
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

Öncelikle iyi bir C kitabı almalı ve dili anlamalısın.

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()Veya kullanmaya kıyasla zor bir iştir fputs(). Özellikle fprintf()birkaç rakamın da yazılması gerektiği için.
Jonathan Leffler

7
Ve "c:\\test.txt"beklenmedik bir dosya adıdır; soru linux etiketli .
Keith Thompson

13
-1 OP, kullanımı en kolay işlevi istedi. Ve metin yazmak için, ancak dosyayı ikili modda açıyorsunuz. Ve açık bir hatayı bildirmekte başarısız olmak kötü bir uygulamadır.
Jim Balter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.