Оставить в файле только те фразы, в которых имеется числовая информация - C (СИ)

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

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

Дан файл, содержащий некоторый текст. Оставить в этом файле только те фразы, в которых имеется числовая информация (то есть слова, состоящие только из цифр). Как это сделать?

Решение задачи: «Оставить в файле только те фразы, в которых имеется числовая информация»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
#define MAX_LEN_LINE 100
 
int main (int argc, char **argv) {
FILE* file;
        file = fopen(argv[1], "r");
 
    char line[MAX_LEN_LINE];
    char value[MAX_LEN_LINE];
    
 
    while (fgets(line, MAX_LEN_LINE, file) != NULL) {
    sscanf(line, "%s", value);
        for (int i = 0; value[i] != '\0'; i++) {
      char* str = value;
      size_t span = strspn(str, "0123456789");
      if(str[span] == '\0' && i == 0) {
            int i = 0;
                printf("%s\n", value);
            i++;
            }
        }
    }
 
fclose(file);
    
}

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

В этом коде считывается содержимое файла построчно с помощью функции fgets(). Каждая строка затем проверяется на наличие числовой информации с помощью функции sscanf() и strspn(). Если числовая информация присутствует и она является первой в строке, то эта строка выводится на экран с помощью printf(). В конце файл закрывается с помощью fclose().

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


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

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

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