В C, Как использовать теги спецификатора для ввода «строкового» содержимого переменной в имя файла для создания динамических имен файлов - PullRequest
0 голосов
/ 15 июня 2019

Я создаю программу, которая по собственному желанию записывает ваш собственный стиль приключенческого рассказа в консоли, но также записывает его в текстовый файл.Пользователь будет вводить свое имя в переменную с помощью scanf ().Когда я использую fopen () и называю файл, я хочу использовать спецификатор формата с переменной, содержащей их имя и слова ("% s'sAwesomeAdventure.txt, nameVariable), так же, как он используется в printf ().по крайней мере, это то, что я хотел бы сделать, но я не могу сделать, кто-нибудь знает, что я могу сделать? Пожалуйста, за вашу помощь, и большое спасибо.

Я пытался; 1) переименовать ()function >> тот же результат, который не является результатом 2) объединение всей строки в переменную и затем просто помещение переменной в функцию fopen () с указателем режима >> не пошло, но я мог что-то здесь упустить.очевидные вещи довольно часто.

#include <stdio.h>

int main () {

char nameVariable[] =("Rick");

   FILE * fp;

//as you can see here this is not correct on the following line
   fp = fopen ("%ssAwesomeAdventure.txt", nameVariable,  "w+"); 

   fprintf(fp, "Be excellent to eachother!");

   fclose(fp);
   return(0);
}

Файл должен называться: RicksAwesomeAdventure.txt

1 Ответ

0 голосов
/ 16 июня 2019

Спасибо, мистер Уильям Перселл. Вы правильно направили меня с помощью sprintf (), и вот результат, который я искал.

включает

int main () {

char nameVariable[50];
char nameQuestion[] = ("What is Your Name?\n");
char customFileName[80];

printf(nameQuestion);
scanf("%s", nameVariable);

sprintf(customFileName, "%ssAwesomeAdventure.txt", nameVariable);

FILE * fp;
fp = fopen (customFileName, "w+");
fprintf(fp, "Be excellent to eachother!");
fclose(fp);

return(0);

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...