Записать в .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, вы должны читать в буфер достаточной длины, а не в один символ.
Керрек С.Б.

Ответы:

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
Вы знаете, что пишете π как пи, а не пи?
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);
cppcoder
источник
-4

Что ж, сначала нужно получить хорошую книгу по Си и понять язык.

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);
Jeeva
источник
2
Это тяжелая работа по сравнению с использованием fprintf()или fputs(). Тем fprintf()более, что нужно написать несколько цифр.
Джонатан Леффлер
6
И "c:\\test.txt"это маловероятное имя файла; вопрос помечен linux .
Кит Томпсон
13
-1 ОП попросил самую простую функцию для использования. И писать текст, но вы открываете файл в двоичном режиме. И плохая практика - не сообщать об открытой ошибке.
Джим Балтер