Необходимо чтоб пользователь сам задавал имя открываемого файла и куда будет сохранять - 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);
Объяснение кода листинга программы
- Объявлена переменная типа char с именем fname и размером 256 байт.
- Выводится сообщение
vvedite imya faila-с помощью функции printf. - С помощью функции scanf считывается строка, введенная пользователем, и сохраняется в переменной fname.