The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Alto Nível de programação
.
google unix.com



Alto Nível de programação Post perguntas sobre C, C + +, Java, SQL, e outras linguagens de programação aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
C + + mapa programa - Mensagem de erro dhanamurthy Alto Nível de programação 0 04-02-2008 07:57
Erro no Programa Awk bikas_jena Programação Shell Script e 3 01-07-2008 02:30
Erro do Programa Carmen123 AIX 0 11-23-2006 07:20
unix - c programa envia mensagem de erro do PO para o e-mail chino_52284 Programação Shell Script e 2 04-28-2005 09:12
Erro Compilando programa C Vivek Alto Nível de programação 3 10-25-2001 12:13

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-18-2008
Joey joey is offline
Usuário
  
 

Join Date: Nov 2008
Lugares: 15
programa pequeno erro.

Estou tentando trabalhar esse pequeno programa, o seu não funciona ..

Código:
int main()

{
               FILE *fp;
               char *args[40];
               pid_t child, exited_pid;
               int status = 0;
               *args[0] = "less";
               fp = popen("ls", "r");
               child = fork();
               if(child == 0)
              {
                      dup2(fp->fd, 0);
                      if(execvp(args[0], args) == -1)
                             {
                                printf("error");
                               exit(EXIT_FAILURE);
                              }

                wait(&status);
                wait(&status);
}

Tenho erro.
Aviso: cessão faz inteiro de ponteiro sem um elenco
Erro: 'Arquivo' não tem nenhum membro chamado 'fd "
Erro: esperada declaração ou declaração no final da entrada.


Toda a minha meta do programa é o de executar ls, e ler a partir desse programa e armazená-lo no buffer. Então meu segundo programa (argss [0]) lê a entrada que vem de lá e usa-lo ...


plz help
  #2 (permalink)  
Old 11-18-2008
Joey joey is offline
Usuário
  
 

Join Date: Nov 2008
Lugares: 15
C: FILE Estrutura!, Estrutura FILE em C

Código:
typedef struct  {
       int             level;      /* fill/empty level of buffer */
       unsigned        flags;      /* File status flags          */
       char            fd;         /* File descriptor            */
       unsigned char   hold;       /* Ungetc char if no buffer   */
       int             bsize;      /* Buffer size                */
  unsigned char   *buffer;    /* Data transfer buffer       */
  unsigned char   *curp;      /* Current active pointer     */
       unsigned        istemp;     /* Temporary file indicator   */
       short           token;      /* Used for validity checking */
}       FILE;
Como é "processo" não tem nenhum membro nomeado fd
  #3 (permalink)  
Old 11-18-2008
Corona688 Corona688 is offline
Usuário
  
 

Join Date: Aug 2005
Localização: Saskatchewan
Posts: 1.937
FILE é opaco - você não está suposto a confusão com o que está dentro, porque poderia ser diferente em todos os lugares que você vá. É como uma chamada de sistema, você não são supostos para perguntar o que o kernel do seu arquivo dentro tabelas. Tecnicamente você pode obter com o fd fileno () mas, uma vez que quaisquer acções em fp depois de mexer com a sua matéria-prima arquivo descritor pode ser imprevisível, I'd sugerem a realização de uma pipe (), Forking, e redirecionando vez através do tubo. That's how popen obras aderir.

Última edição por Corona688; em 11/18/2008 04:49..
  #4 (permalink)  
Old 11-18-2008
Joey joey is offline
Usuário
  
 

Join Date: Nov 2008
Lugares: 15
k thx
  #5 (permalink)  
Old 11-19-2008
spirtle spirtle is offline
Usuário
  
 

Join Date: Jun 2008
Localização: Escócia
Lugares: 150
Isto é demasiado wrrong:
Código:
*args[0] = "less"
Você tem de ser declarada args um array de ponteiros para char, e "menos" é um ponteiro para char, assim que você precisa
Código:
args[0] = "less"
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 12:59.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0