Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2012, 00:04   #1
Mik2012
 
Регистрация: 31.10.2012
Сообщений: 5
Вопрос Как вывести строку, которая состоит из аргументов командной строки так, чтобы каждое слово выводилось без первого символа

Полное условие:Если первый аргумент командной строки-опция-а, то распечатать другие аргументы без их первых символов, а если первой идет опция-r, то распечатать аргументы через один в обратном порядке. (Если аргументов нет - выдать сообщение.)
Начал писать, не понимаю как вывести аргументы как того требует условие((
Код C++

Код:
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main(int argc, char *argv[])
{
    int i;
       if (argc==1)
          printf("U comandnomu ryadku nemae parametriv\n");
       else 
         {
         printf("U programu %s peredano taki parametry:\n", argv[0]);
         for(i=1;i<argc;i++)
            printf("%d => %s\n", i, argv[i]);
         }
     
     for(++argv; *argv!=NULL; argv++)    
     if ((*argv)[0]=='-'&&(*argv)[1]=='a')
     
        printf();
     else if ((*argv)[0]=='-'&&(*argv)[1]=='r')
     puts("\nNema");
     else 
     puts("Takyh parametryv nemae!");     
         
         
         getch();    
         return 0;
}

Последний раз редактировалось Mik2012; 31.10.2012 в 00:11.
Mik2012 вне форума Ответить с цитированием
Старый 31.10.2012, 00:29   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main(int argc, char *argv[])
{
    int i;
    if (argc == 1) {
        printf("No parameters\n");
        return 0;
    }
    printf("Program %s have parameters:\n", argv[0]);
    for(i = 1; i < argc; ++i) {
        printf("%d) %s\n", i, argv[i]);
    }
    if (!strcmp(argv[1], "-a")) {
        printf("-a option:\n");
        for (i = 1; i < argc; ++i) {
            printf("%s\n", argv[i] + 1);
        }
    } else if (!strcmp(argv[1], "-r")) {
        printf("-r option:\n");
        for (i = argc - 1; i >= 0; i -= 2) {
            printf("%s\n", argv[i]);
        }
    
    }
    getch(); 
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать так чтобы при нажатии на ComboBox выводилось поле из таблицы DBGrid? jawa250t БД в Delphi 4 21.04.2012 21:57
Нужно чтобы выводилось каждое 5-ое число Анастасия=) Общие вопросы C/C++ 1 16.12.2010 02:47
Составить программу, которая записывает каждое слово в тексте в обратном порядке.Delphi grongost Помощь студентам 4 23.09.2010 20:23
Дан символ C и строка S. Удвоить каждое вхождение символа C в строку S. MrJohanson Помощь студентам 1 10.03.2010 09:51