В файл записывается мусор - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Я запутался с записью в файл. Короче вот часть кода
 int bufer[n]; //он заполнен числами
...
FILE *out;
if((out=fopen("text.txt", "w"))==NULL)
{
printf("Cannot open file.");
return 1;
}
fwrite(bufer, sizeof(int), n, out);
free(mas);
return 0;
В итоге в файле у меня мусор какой-то
a^@^@^@ ^@^@^@�^@^@^@ ^@^@^@�^@^@^@�^@^@^@�^@^@^@�^@^@^@�^@^@^@�^@^@^@ ^@^@^@q^@^@^@w^@^@^@e^@^@^@r^@^@^@t^@^@^@y^@^@^@�^@^@^@

Решение задачи: «В файл записывается мусор»

textual
Листинг программы
int bufer[n]; //он заполнен числами
...
FILE *out;
int jx;
if((out=fopen("text.txt", "wt+"))==NULL)
{
    printf("Cannot open file.");
    return 1;
}
for(jx=0;jx<n;jx++)
    fprintf(out,"%d\n\r",buffer[jx]);
fclose(out);
return 0;

Объяснение кода листинга программы

  1. В начале кода объявлена массивная переменная buffer[n], которая заполнена числами.
  2. Далее, используется функция fopen для открытия файла text.txt в режиме записи (wt+).
  3. Если файл не может быть открыт, выводится сообщение об ошибке и возвращается 1.
  4. Если файл успешно открыт, выполняется цикл for, который проходит по всем элементам массива buffer.
  5. Внутри цикла, используется функция fprintf для записи каждого элемента массива в файл, с указанием формата %d\n\r для записи целого числа и символов новой строки.
  6. После завершения цикла, файл закрывается с помощью функции fclose.
  7. В конце кода возвращается 0, что означает успешное выполнение программы.

Оцени полезность:

14   голосов , оценка 3.929 из 5