Как создать новый текстовый файл на C?

Я создаю программу, которая считывает данные из одного текстового файла и меняет его размер на верхний или нижний регистр, а затем сохраняет эти данные в новом файле. Я искал в Интернете, но не могу найти, как создать новый текстовый файл.

  #include  int main (void) {FILE * fp = NULL;  fp = fopen ("textFile.txt", "a");  выбор символа;  if (fp! = NULL) {printf ("Изменить регистр  n");  printf ("============  n");  printf ("Регистр (U для верхнего, L для нижнего):");  scanf ("% c", & выбор);  printf ("Имя исходного файла: textFile.txt  n");  printf ("Имя обновленного файла: newFile.txt  n");  

Я знаю, что это неполно, но не могу понять, как создать ящик для нового текстового файла !


6
  fp  = fopen ("textFile.txt", "a");  

Это правильный способ создания текстового файла. Проблема заключается в ваших операторах printf . Вместо этого вы хотите:

  fprintf (fp, "Изменить регистр  n"); ...  

Улучшить этот ответ
отредактировал 30 ноября 2015 в 21:28
ответил 30 ноя. 2015 в 21:22
  • (Вы должны проверить, что fp! = NULL , но вы уже это делаете); Не забудьте в конце вызвать fclose (fp); . Вы можете иногда вызывать fflush — Базиль Старынкевич, 30 ноя., 21:23
  • Режим «при» для fopen () — не является частью 7.21.5.3 Функция fopen в стандарте C. open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf — Эндрю Хенле, 30 ноября 2015 г., 21:27
  • Что делает fprintf (fp, «изменить регистр n»); делать? Спасибо, Хассен Фатима, 30 ноя., 21:27
  • 1
    @HassenFatima, он записывает «изменить регистр» в файл, на который указывает дескриптор fp . В отличие от обычного printf , который записывается в стандартный вывод. — Ishamael 30 ноя, в 21:28
добавить комментарий |

  fp = fopen ("textFile.txt", "a");  

Это правильный способ создания текстового файла. Проблема в ваших инструкциях printf . Вместо этого вы хотите:

  fprintf (fp, "Изменить регистр  n"); ...  

1

  #include  #define FILE_NAME "text.  txt "int main () {ФАЙЛ * file_ptr = fopen (ИМЯ ФАЙЛА," w ");  fclose (file_ptr);  return 0;}  

Улучшите этот ответ
отредактировано 6 апр. ’18 в 7:02
sschrass
6 , 18466 золотых знаков3838 серебряных знаков5252 бронзовых знака
ответил 06 апр 2018 в 18:26
добавить комментарий |

  #include  #define FILE_NAME "text.txt" int main () {FILE * file_ptr  = fopen (ИМЯ ФАЙЛА, "ш");  fclose (file_ptr);  return 0;}  


простой способ создать новый файл в c · GitHub

#include
int main (void) {
//напишите программу, которая создает простой текстовый файл
//создаем тип данных указателя FILE fp
//это новый файл, который мы создаем
FILE * fp;
//мы должны открыть файл и выбрать, в каком режиме мы
//хочу быть в, что в данном случае «w» для записи
//fopen возвращает ФАЙЛ тип данных указателя, который является тем, что
//нам нужно выполнить действие ионы, такие как запись или чтение и т. д.
//Этот файл еще не существует, поэтому эта переменная просто
//пустое ведро, пока мы не заполним его данными с помощью fwrite
fp = fopen («mynewfile. txt «,» w «);
//у нас будут некоторые данные, которые мы хотим в файле в массиве
char data [] = «nice n»;
//это представляет собой массив [‘n’, ‘i’, ‘c’, ‘e’];
//мы вызовем функцию fwrite и передадим ее
//данные (массив), размер каждого элемента,
//общее количество элементов и указатель на файл.
//В нашем case
//мы будем использовать sizeof (array), потому что мы
//собираемся записать каждый символ в нашем массиве (строку)
fwrite (data, sizeof (data [0]), sizeof (d ata), fp);
fclose (fp);
return 0;
}

Оцените статью
logicle.ru
Добавить комментарий