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