Открытие файлов в каталоге, которые содержат определенную строку в своем имени - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблемы с попыткой выяснить, как искать файлы с частичными именами в каталоге. Мое назначение вставлено ниже, а также с тем, что у меня есть до сих пор. Я знаю, как составить список каталогов, мне просто нужно знать, как искать файлы, которые начинаются со слова «цифры». Я не уверен, нужно ли мне помещать все имена файлов в массив и повторять массив или что-то еще, это всего лишь лаборатория, которая не стоит много очков, они обычно довольно простые, но я m застрял.

Мой проект:

Задача № 2: Напишите программу, которая ищет в текущем каталоге файлы, соответствующие шаблону «numbers.XXXX». Для каждого файла откройте файл и прочитайте файл. Вы можете предположить, что файл будет содержать 100 целых чисел. Суммируйте целые числа. Выведите имя файла и сумму целых чисел. Подсказки: создайте функцию для работы с open / read / sum / print / close. opendir () требует начальный каталог. Вы хотите начать где в текущем каталоге. Вам нужно l oop над записями каталога. Это похоже на просмотр связанного списка. Вы хотите проверить каждую запись файла, чтобы увидеть, начинается ли она с «цифр».

Lab 7 part 2
*/

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>

void open()
{

}

void read()
{

}

void sum()
{

}

void print()
{

}

void close()
{

}

int main()
{
    int num, arraySum = 0;
    FILE *fptr;
    DIR *d;
    struct dirent *dir;
    d = opendir(".");
  if (d) 
    {
        while ((dir = readdir(d)) != NULL) 
        {
            printf("%s\n", dir->d_name);
            if(dir->d_name)
            fptr = fopen(dir->d_name,"r");
            while ((num = getw(fptr))!=EOF)
                {
                    printf("%d, ",num); //printing numbers from file.
                    arraySum += num;
                }
        }
    }
    return 0;
}

первая часть проекта, где я создал файлы, начинающиеся со слова «цифры», используя sprintf и присваивая переменную имена в конце. https://pastebin.com/v44fALfp

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