Необходимо чтоб пользователь сам задавал имя открываемого файла и куда будет сохранять - C (СИ)

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

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

посмотрите в чем ошибка , необходимо чтоб пользователь сам задавал имя открываемого файла и куда будет сохранять
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
#define LEN 80

int Open(void)
{
    char *fname;
    char cArray[LEN];
    printf("vvedite imya faila-");
    scanf("%s", &fname);
    FILE *pTextFile = fopen(fname, "r");
    if(pTextFile == NULL)
    {
        printf("Problems");
        return EXIT_FAILURE;
    }
    while(fgets(cArray, LEN, pTextFiAle) != NULL)
    {
        printf("%s", cArray);
    }
    
    fclose(pTextFile);
    getch();
    return EXIT_SUCCESS;
 }
 
int New(void)
{
    char *fname;
    printf("vvedite imya faila-");
    scanf("%s", &fname);
    FILE *pTextFile = fopen(fname, "w");
    char *cString = "This is a string";
    char cNewLine = '\n';
    int nVal = 123;
    if(pTextFile == NULL)
    {
        printf("Problems");
        return EXIT_FAILURE;
    }
    fprintf(pTextFile, "%s%c", cString, cNewLine);
    fprintf(pTextFile, "%d", nVal);
    printf("%s", cString);
    return EXIT_SUCCESS;  
 }

int Menu( void )
{
  int c = 0;
 
  while ((c < '0' || c > '6') && c != 27)
  {
    printf("\n -------------------------------------------------------------------\n"
           "|1-new  |"
           "|  2-open  |"
           "|  3-save  |"
           "|  4-copy  |"
           "|  5-paste  |"
           "|  0-exit |\n"
           " -------------------------------------------------------------------\n"
           ">");
    c = getch();
    printf("%c\n", c);
  }
  return c;
} 

int main( void )
{
   
  int Selection;
  while ((Selection = Menu()) != '0' && Selection != 27)
    switch (Selection)
    {
    case '1':
      New();
      break;
    case '2':
      Open();
      break;
    
    }
}

Решение задачи: «Необходимо чтоб пользователь сам задавал имя открываемого файла и куда будет сохранять»

textual
Листинг программы
char fname[256];
printf("vvedite imya faila-");
scanf("%s", fname);

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

  1. Объявлена переменная типа char с именем fname и размером 256 байт.
  2. Выводится сообщение vvedite imya faila- с помощью функции printf.
  3. С помощью функции scanf считывается строка, введенная пользователем, и сохраняется в переменной fname.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

9   голосов , оценка 4.222 из 5
Похожие ответы