Оставить в файле только те фразы, в которых имеется числовая информация - 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()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д