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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX_LEN_LINE 100
  5.  
  6. int main (int argc, char **argv) {
  7. FILE* file;
  8.         file = fopen(argv[1], "r");
  9.  
  10.     char line[MAX_LEN_LINE];
  11.     char value[MAX_LEN_LINE];
  12.    
  13.  
  14.     while (fgets(line, MAX_LEN_LINE, file) != NULL) {
  15.     sscanf(line, "%s", value);
  16.         for (int i = 0; value[i] != '\0'; i++) {
  17.       char* str = value;
  18.       size_t span = strspn(str, "0123456789");
  19.       if(str[span] == '\0' && i == 0) {
  20.             int i = 0;
  21.                 printf("%s\n", value);
  22.             i++;
  23.             }
  24.         }
  25.     }
  26.  
  27. fclose(file);
  28.    
  29. }

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

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

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


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

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

11   голосов , оценка 4.455 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы