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

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

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

Собственно в заголовке и есть вопрос.
#include<stdio.h> 
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include <windows.h>
#include <dos.h>
 
int main (void)
{
    FILE *in,*out, *inkd, *outkd, *inks[30], *insoed, *cxe ;
    struct file
        { 
            char filenamePPS[50];
        };
    struct file PPS[50];
    char input[80], filename[50], rus[80], filenamekd[50], filenamexml[40] ;
    int kolfailov, kolf;
    puts ("Vvedite imya faila (put') ps faila");
    gets (filename);
    puts ("Vvedite kolichestvo PPS failov ");
    scanf ("%d", & kolfailov);
    for (kolf=0;kolf<kolfailov; kolf++)
        {
            printf ("Vvedite imy % PPS faila\n " );
            scanf ("%s", &PPS[kolf].filenamePPS);
        }
    
    if (( in=fopen (filename, "r"))==NULL)
        {
            printf("\Oshibka pri otkritii faila %s ", filename);
            getch();
            exit (1);
        }
    puts ("Vvedite imya faila (put') xml faila");
    gets (filenamexml);
    if (( out=fopen (filenamexml, "w"))==NULL)
        {
            printf("\Oshibka pri otkritii faila % ");
            getch();
            exit (1);
        }
    puts ("Vvedite imya faila (put') kd faila");
    gets (filenamekd);
    if (( inkd=fopen (filenamekd, "r"))==NULL)
        {
            printf("\Oshibka pri otkritii faila %s ", filename);
            getch();
            exit (1);
        }
    for (kolf=0; kolf<kolfailov; kolf++)
        {
            if (( inks[kolf]=fopen (PPS[kolf].filenamePPS, "r"))==NULL)
                {
                    printf("\nOshibka pri otkritii faila %s ", PPS[kolf].filenamePPS);
                    getch();
                    exit (1);
                    }
                fclose (inks[kolf]);
        }
    fclose (inkd);
    fprintf (out,"\<\?xml version=\"1.0\"\?>");
    fclose (out);
    fclose (in);
    return 0;
    }
Привела весь код. Проблема в том, что после этой строки puts ("Vvedite imya faila (put') xml faila"); сразу выдает сообщение об ошибке, т.е. не дает возможности ввести имя файла через консоль. Ошибку я приложила.

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

textual
Листинг программы
                        printf ("Vvedite imy % PPS faila\n " );
                        scanf ("%s", &PPS[kolf].filenamePPS);

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

  1. Ввод имени файла с помощью функции scanf.
  2. Переменная PPS[kolf].filenamePPS используется для хранения имени файла.

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


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

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

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