LINUX.ORG.RU

недопонял...


0

0

блин, уже постил недавно,не могу допереть-

как с помощью например execv запустить mplayer и передать ему аргументами путь к файлу, имя файла

★★★★★

char *arv[4];

argv[0]="/где/лежит/mplayer/mplayer";
argv[1]="/путь/к/файлу";
argv[2]="имя_файла";
argv[3]=NULL;

...

if(execv(argv[0],argv)!=0)
   perror("mplayer трындец:");

Die-Hard ★★★★★
()

>аргументами путь к файлу, имя файла

а mplayer уже так умеет?

char **args = {"mplayer", аргумент1, аргумент2, ..., NULL};

execv("/usr/bin/mplayer", args);

хотя я б рекомендовал execlp("mplayer", "mplayer", аргумент1, аргумент2, ..., NULL);

generatorglukoff ★★
()
Ответ на: комментарий от Die-Hard

сделал так:

#include <iostream.h>

main()
{
char *argum[3];

argum[0]="mplayer";
argum[1]="/путь/к/файлу/файл";
argum[2]=NULL;

(execv(argum[0],argum);
}

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

S_Paul ★★★★★
() автор топика
Ответ на: комментарий от S_Paul

то есть не (execv(argum[0],argum); а execv(argum[0],argum);

S_Paul ★★★★★
() автор топика
Ответ на: комментарий от S_Paul

#include<unistd.h>

main()
{
char *argum[3];

argum[0]="/полный/путь/к/mplayer";
argum[1]="/путь/к/файлу/файл";
argum[2]=NULL;

 execv(argum[0],argum);
}

Uncle_Theodore ★★
()
Ответ на: комментарий от S_Paul

> а как задать один из аргументов вручную по запросу, по cin>> например?

Если cin, то C++, правильно?

#include<iostream>
#include<unistd.h>

using namespace std;

int main()
{
  string progname, filename;

  cout << "whatcha gonna launch? gimme the proggie name\n";
  cin >> progname;
  cout << "now yo gimme da file parameter, yo hear?\n";
  cin >> filename;

  char * argum[3] = {(char*)progname.c_str(), 
		     (char*)filename.c_str(), 
		     NULL};

  execv(argum[0],argum);

  return 0;
}

Только вообще говоря, надо бы проверять, что файлы существуют, и так далее...

Uncle_Theodore ★★
()
Ответ на: комментарий от S_Paul

Ну ёмаё, ну чувак, ну почитай man execv, ну изучи С++, ну что же ты так тупиш-то?

anonymous
()
Ответ на: комментарий от Uncle_Theodore

спасибо,
ну ламо я, и мне стыдно :(
С++ изучаю "Харви и Пол Дейтел - как пограммировать на с++","с++ в примерах"

S_Paul ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.