Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
siinthd
0 / 0 / 1
Регистрация: 05.11.2015
Сообщений: 19
1

Задача на поиск символа из аргумента командной строки

11.04.2017, 10:59. Просмотров 236. Ответов 1
Метки нет (Все метки)

Добрый день!
решаю такую задачу:необходимо написать программу,которая принимает в качестве аргументов командной строки символ и файлы,и выводит сколько раз попадался данный символ в файлах.если файлов боьше одного то нужно последовательно открыть и искать там.если файлов нет,то программа использует стандартный ввод для текста, и ищет символ из аргумента.Не могу разобраться,как задать символ в качестве поиска,не получается перелать этот символ в качестве переменной и использовать ее для поиска.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
    FILE *in; //файл
    int count; //счетчик аргументов
    char text; //первый аргумент
    char ch1; // символ с потока данных
    char ch2[80]; //текст с устройства ввода
    int check_flr; //счетчик для проверки файловбесли равен count то инпут
    int check = 0; // счетчик первого аргумента
    int files=0;
    text = argv[1];
        if (argc < 3)   //argument check 2 - прога и символ
            {
                printf("standart input");
                scanf("%c",&ch2);
            }
        if (argc < 2) // только один аргумент - выход
            {
                printf("Usage: %s",argv[0]);
                exit(2);
            }
        for (count = 2;count<argc+1;count++)    //check for empty files
        {
                if ((in = fopen(argv[count],"r")) == NULL)  //first argument 
                    check_flr++;
                else
            {
                    ch1 = getc(in); 
                    while (in!= EOF)
                {
                        if (text == ch1)
                                check++;
                        ch1 = getc(in); 
                }
                files++;
 
                    fclose(in);
            }
                continue;
        }
if (check_flr = count)
    {
        puts("standart input");
        scanf("%c",&ch2);
        int n;
            for (n=0;n<=strlen(ch2);n++)
        {
                if (text == ch2[0])
                check++;
        }
    }
printf("symbol %c have in %d files",argv[1],files);
        
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2017, 10:59
Ответы с готовыми решениями:

Как сложить два элемента аргумента,которые были ранее заданы с командной строки?
Как сложить argv с argv ? И можете проверить код на правильность ?;D Задание...

Нужна тривиальная решенная задача с использыванием командной строки
Есть пример: данная программа берет файл text.txt и с помощью qsort...

Поиск в строке символа и удаление его из другой строки
Добрый день! Прошу помощи с заданием по Си. Даны строки A и B. Если все...

два аргумента командной строки
Задача: напишите приложение, которое использует два аргумента командной строки...

Запись в файл XOR аргумента командной строки
Помогите пожалуйста решить следующую задачу Нужно сформировать файл следующего...

1
nimazzzy
Заблокирован
11.04.2017, 11:03 2
Цитата Сообщение от siinthd Посмотреть сообщение
Не могу разобраться,как задать символ в качестве поиска,не получается перелать этот символ в качестве переменной и использовать ее для поиска.
Вместо
Цитата Сообщение от siinthd Посмотреть сообщение
text = argv[1];
Не пробовал
C
1
text = *(argv[1]);
или
C
1
text = argv[1][0];
?
text у тебя char, а ты ему указатель суешь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2017, 11:03

Консольное/оконное приложение по наличию аргумента командной строки
Вопрос: Можно ли в main() организовать две ветви: если args.Length == 0, то...

Аргументы командной строки: как программа корректно определяет два пробела в значении аргумента?
Друзья! Есть сторонняя консольная программа, к ней параметром идут имена двух...

Написать программу которая читает из командной строки два аргумента: имя переменной и значение этой переменой
Написать программу которая читает из командной строки два аргумента : имя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru