Форум программистов, компьютерный форум, киберфорум
С под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
71 / 71 / 23
Регистрация: 22.05.2011
Сообщений: 528
1

Вывести все переменные среды, названия которых начинаются на букву, которая задана дополнительным аргументом параметра командной строки "х".

22.03.2012, 21:49. Показов 1588. Ответов 4
Метки нет (Все метки)

Здрасте форумчане, возникла проблемма.
Вот условие задачи:
Написать программу которая выводит все переменные среды, названия которых начинаются на букву, которая задана дополнительным аргументом параметра командной строки "х".

нашел вот такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <unistd.h>
#include <stdio.h>
 
int main (int ac, char **av, char**ag)
{
 int q;int i;
printf("VVedit parametr a dlia vuvody vsih zminnuh  seredovushcha\n");
 while ((q = getopt(ac,av,"a")) != -1)
  {
  
  switch (q)
   {
   case 'a':
            printf("zminni\n");
        for( i=0;ag[i]!=NULL;i++)                         
     { printf( "%d\n\n",ag[i]);}
    break;
   
   }
  }
 return 0;
}
он выводит кучу непонятного текста, мб эт и есть переменные среды, но вот как сделать поиск переменной по первой букве, используя параметр комадной строки я не знаю. Опыт программирования под линукс ==0. Помогите пзл
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2012, 21:49
Ответы с готовыми решениями:

Надо вывести все слова, которые начинаются на букву "A"
Привет, помогите пожалуйста! Мне надо вывести все слова которые начинаются на букву &quot;A&quot; из файла....

Что значит "файл, заданный аргументом командной строки"?
Здравствуйте, помогите пожалуйста разобраться с работой потокового редактора sed и утилитой awk....

Вывести из таблицы category уникальный список категорий, названия которых начинаются на букву M
Вывести из таблицы category уникальный список категорий, названия которых начинаются на букву M:

Распечатать список учеников, фамилии которых начинаются на букву "В", с указанием дат их рождения
Нужно распечатать список учеников,фамилии которых начинаются на букву &quot;В&quot;,с указанием дат их...

4
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
22.03.2012, 23:19 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int
main(int argc, char* argv[], char* env[])
{
    int c;
    char env_ch = 0;
    char** env_val = env;
    
    c = getopt (argc, argv, "x:");
    if(c != 'x')
    {
        printf("Usage:%s -x char\n", argv[0]);
        exit(1);
    }
    env_ch = *optarg;
    while(*env_val)
    {
        if(**env_val == env_ch)
            puts(*env_val);
        ++env_val;
    }
    return 0;
}
2
71 / 71 / 23
Регистрация: 22.05.2011
Сообщений: 528
23.03.2012, 22:24  [ТС] 3
retmas, спасибо конечно, но я чет не могу разобратся что оно делает и как его запустить чтобы был нужный результат. Подскажы плиз
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
23.03.2012, 23:25 4
~$ cat main.c
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
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
 
int
main(int argc, char* argv[], char* env[])
{
    int c;
    char env_ch = 0;
    char** env_val = env;
    
    c = getopt (argc, argv, "x:");
    if(c != 'x')
    {
        printf("Usage:%s -x char\n", argv[0]);
        exit(1);
    }
    env_ch = *optarg;
    while(*env_val)
    {
        if(**env_val == env_ch)
            puts(*env_val);
        ++env_val;
    }
    return 0;
}

Цитата Сообщение от CLEO_ROCK Посмотреть сообщение
выводит все переменные среды, названия которых начинаются на букву, которая задана дополнительным аргументом параметра командной строки "х".
Bash
1
2
3
4
5
6
7
~$ gcc main.c
~$ ./a.out -x P
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/sergei
~$ ./a.out -x C
COMPIZ_CONFIG_PROFILE=ubuntu
COLORTERM=gnome-terminal
3
71 / 71 / 23
Регистрация: 22.05.2011
Сообщений: 528
24.03.2012, 00:18  [ТС] 5
retmas, большое спасибо! все четко)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2012, 00:18

Составить программу, которая из введенного текста удаляет первую букву "а"; все буквы "а"
Составить программу, которая из введенного текста удаляет первую букву &quot;а&quot;; все буквы &quot;а&quot;.

Вывести все слова на букву "о" из введенной строки
import java.util.Scanner; public class main { public static void main(String args) { ...

Найти и вывести все слова, которые начинаются на "р" и оканчивающиеся на "а"
Помогите пожалуйста написать программу, которая в введенном предложении находит и выводит все слова...

Дан массив слов Вывести на печать слова, начинающиеся на букву "а", заменив в них букву "р" на "*"
День добрый, друзья, помогите пожалуйста. 1)Дан массив слов. Вывести на печать слова, начинающиеся...


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

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

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