Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Пользователям Linux


Автор: NiJazz 16.8.2003, 15:04
Я знаю, что есть команды w, who и whoami. Но надо сделать так, чтобы именно фуекция на Си выдавала как результат имя пользователя.

Автор: pish_r 18.8.2003, 10:05
Кодинг для Юникс-подобных систем-очень смешная вещь.
Если тебе надо вывести на консоль
то твоя задача сведется к простым строкам:
Код

main(){
exec("who");
}

smile.gif
Это идиология программирования под Unix-подобными системами: Нафига писать то. что уже написано? Поэтому там так много консольных прог с параметрами, чтоб их было удобно использовать из других прог, или баша.
Если же тебе нужно не на консоль, а обработать, есть два пути:
Вывести ч/з exec в консоль в файл и обработать файл smile.gif, или проще залесть в исходник who и посмотреть как они делают smile.gif
Правда, смешно?

Автор: Haitan_Srany 19.8.2003, 11:33
Exec(); - это не очень интересно... потому что это довольно неудобная штука - она создает новый процесс, который работает асинхронно с основным процессом функции main. Так что есть в stdio.h такая функция system(); - пишешь system("whoami");

Автор: wpp 19.8.2003, 17:48
getenv("USER")

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)