Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
1.38 Кб
Скачать
#include <stdio.h>
#include <ctype.h>
#include <string.h>

void processFile(const char* inputFile, const char* outputFile) {
    FILE *fin = fopen(inputFile, "r");
    FILE *fout = fopen(outputFile, "w");
    
    if (!fin || !fout) {
        printf("Error opening files!\n");
        return;
    }
    
    int ch, prevCh = ' ';
    int inWord = 0;
    
    while ((ch = fgetc(fin)) != EOF) {
        if (isspace(ch)) {
            if (inWord) {
                fputc(' ', fout);
                inWord = 0;
            }
        } else if (ispunct(ch)) {
            if (inWord) {
                fputc(' ', fout);
            }
            fputc(ch, fout);
            fputc(' ', fout);
            inWord = 0;
        } else {
            fputc(ch, fout);
            inWord = 1;
        }
        prevCh = ch;
    }
    
    fclose(fin);
    fclose(fout);
}

int main(int argc, char* argv[]) {
    char inputFile[100], outputFile[100];
    
    if (argc >= 3) {
        strcpy(inputFile, argv[1]);
        strcpy(outputFile, argv[2]);
    } else {
        printf("Enter input filename: ");
        scanf("%s", inputFile);
        printf("Enter output filename: ");
        scanf("%s", outputFile);
    }
    
    processFile(inputFile, outputFile);
    printf("File processed successfully!\n");
    
    return 0;
}
Соседние файлы в папке Лаба7