Форум программистов, компьютерный форум CyberForum.ru

Работа со строками - обработка аргументов командной строки - C++

Восстановить пароль Регистрация
 
crazy1ua
2 / 2 / 0
Регистрация: 09.12.2012
Сообщений: 65
07.11.2013, 19:55     Работа со строками - обработка аргументов командной строки #1
Помогите реализовать. Буду очень благодарен.

Если первый аргумент командной строки-опция-d, то распечатать введен далее текст без входящих в него цифр, а если указанная опция-r, распечатать введенный далее текст так, чтобы цифры шли в обратном порядке. В других случаях распечатать текст таким, каким он был введен.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2013, 19:55     Работа со строками - обработка аргументов командной строки
Посмотрите здесь:

C++ Разбор аргументов командной строки
C++ Ввод аргументов командной строки
Объясните смысл аргументов командной строки argc и argv C++
Передача аргументов командной строки функции main() C++
Вывод аргументов командной строки C++
C++ Передача аргументов командной строки
Использование аргументов командной строки C++
C++ Вычислить сумму чисел, передаваемых программе в виде аргументов командной строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
07.11.2013, 21:31     Работа со строками - обработка аргументов командной строки #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
void displaynodigits(char* str);
void displayrevdigits(char* str);
void swap(char& c1, char& c2);
 
int main(int argc, char* argv[])
{
    char str[256] = "\0";
 
    printf("str = "); gets(str);
 
    for (int i = 1; i < argc; i++)
        if (!strcmp(argv[i], "-d")) displaynodigits(str);
        else if (!strcmp(argv[i], "-r")) displayrevdigits(str);
 
    printf("%s\n",str);
 
    _getch();
 
    return 0;
}
 
void displaynodigits(char* str)
{
    for (int i = 0; str[i] != '\0'; i++)
        while (isdigit(str[i]))
        {
            for (int k = i; str[k] != '\0'; k++)
                str[k] = str[k+1];
        }
}
 
void displayrevdigits(char* str)
{
    for (int i = 0; str[i] != '\0'; i++)
        if (isdigit(str[i]))
        {
            int len = i;
            while (isdigit(str[len+1])) len++; 
            
            int tmp = len; int pos = !((len-i)+1 % 2) ? 
                ((len-i)/2)+1 : ((len-i)+1)/2;
            for (int k = i; len >= i + pos; k++)
                swap(str[k],str[len--]);
 
            i = tmp;
        }
}
 
void swap(char& c1, char& c2)
 { char _tc = c1; c1 = c2; c2 = _tc; }
Вложения
Тип файла: 7z Test.7z (8.0 Кб, 6 просмотров)
crazy1ua
2 / 2 / 0
Регистрация: 09.12.2012
Сообщений: 65
07.11.2013, 21:46  [ТС]     Работа со строками - обработка аргументов командной строки #3
Сейчас проверю.

Добавлено через 5 минут
Вроди работает. Спасибо.
Yandex
Объявления
07.11.2013, 21:46     Работа со строками - обработка аргументов командной строки
Ответ Создать тему
Опции темы

Текущее время: 16:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru