Mario Lopes Postado Outubro 7, 2010 Denunciar Share Postado Outubro 7, 2010 AmigosEstou usando o vs2008 para programar em c++ e necessito de fazer um programa que me permita o uso de parametros, ou seja: necessito de criar um executável que se execute da seguinte formateste 2 4e devolve por exemplo o produto, ou seja 8Alguém ajuda? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Maligno Postado Outubro 7, 2010 Denunciar Share Postado Outubro 7, 2010 O Google dá toneladas de respostas à sua pergunta, inclusive com inúmeros exemplos de uso. Acostume-se a primeiro pesquisar nele. O MSDN, por exemplo, é o help supremo para o Windows. Você precisa da documentação da função principal do programa, que é a que recebe os argumentos de execução. No caso do Windows, é a WinMain. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Lopes Postado Outubro 7, 2010 Autor Denunciar Share Postado Outubro 7, 2010 O Google dá toneladas de respostas à sua pergunta, inclusive com inúmeros exemplos de uso. Acostume-se a primeiro pesquisar nele. O MSDN, por exemplo, é o help supremo para o Windows. Você precisa da documentação da função principal do programa, que é a que recebe os argumentos de execução. No caso do Windows, é a WinMain.Sinais dos tempos:um tipo faz uma pergunta num forum de ajuda e manda-no para o google. Afinal para que serve um forum de ajuda?Fez juz ao seu nome amigo, maligno Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Outubro 7, 2010 Denunciar Share Postado Outubro 7, 2010 Aqui: http://www.mtm.ufsc.br/~azeredo/cursoC/aulas/c790.htmlSe estiver usando WinMain, como o Maligno falou, você precisa usar o argumento lpCmdLine (o terceiro).Ele conterá uma string com o que foi digitado, por exemplo "2 4".Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Lopes Postado Outubro 7, 2010 Autor Denunciar Share Postado Outubro 7, 2010 Aqui: http://www.mtm.ufsc.br/~azeredo/cursoC/aulas/c790.htmlSe estiver usando WinMain, como o Maligno falou, você precisa usar o argumento lpCmdLine (o terceiro).Ele conterá uma string com o que foi digitado, por exemplo "2 4".Abraços.Olá Durub e obrigado pela sua resposta.Eu estou usando programação em modo consola. O que eu pretendo é programar um sistema em php que faça a validação de programas. Para isso os meus programas devem funcionar aceitando parametros do tipo dobro.exe 2 devolver 4 entende? Não posso usar cout <<Uso o vs2008 da microsoft. Vou dar uma olhada no link que em enviou com atenção mas desde já informo que programo modo consolaAbraço e obrigado pela gentileza da resposta Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Outubro 7, 2010 Denunciar Share Postado Outubro 7, 2010 Você quer receber 8 "direto" no PHP? Acredito que isso não seja possível.Você terá que usar cout. Mas não vejo problema nisso, qual o problema do cout?A função shell_exec do PHP, por exemplo, executa o programa e retorna todo ooutput (cout, printf etc.) em string.Nos casos numéricos você também pode usar o exec e pegar o return code. (o valor do return da main)Porém, acredito que por output (cout) seja a melhor opção.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Lopes Postado Outubro 7, 2010 Autor Denunciar Share Postado Outubro 7, 2010 Você quer receber 8 "direto" no PHP? Acredito que isso não seja possível.Você terá que usar cout. Mas não vejo problema nisso, qual o problema do cout?A função shell_exec do PHP, por exemplo, executa o programa e retorna todo ooutput (cout, printf etc.) em string.Nos casos numéricos você também pode usar o exec e pegar o return code. (o valor do return da main)Porém, acredito que por output (cout) seja a melhor opção.Abraços.Certo Cout oke para entrada do programa? cin não dá pois não? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Lopes Postado Outubro 7, 2010 Autor Denunciar Share Postado Outubro 7, 2010 Você quer receber 8 "direto" no PHP? Acredito que isso não seja possível.Você terá que usar cout. Mas não vejo problema nisso, qual o problema do cout?A função shell_exec do PHP, por exemplo, executa o programa e retorna todo ooutput (cout, printf etc.) em string.Nos casos numéricos você também pode usar o exec e pegar o return code. (o valor do return da main)Porém, acredito que por output (cout) seja a melhor opção.Abraços.Certo Cout oke para entrada do programa? cin não dá pois não?BoasLi o seu link e julgo que sou capaz de resolver. Vou tentar.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Outubro 7, 2010 Denunciar Share Postado Outubro 7, 2010 Dá pra usar cout e cin sendo o programa chamado pelo PHP. Para usar o cin, você vai precisar usar a proc_open.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Lopes Postado Outubro 8, 2010 Autor Denunciar Share Postado Outubro 8, 2010 Caros amigos,Tenho pena mas não encontro muita informação sobre proc_open ou melhor a informação que encontro é toda com um mesmo exemplo. Será que não seria abusar da sorte pedir alguma ajuda suplementar na ajuda deste comando? No caso de um programa chamado teste.execomo ficaria a coisa?Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Maligno Postado Outubro 8, 2010 Denunciar Share Postado Outubro 8, 2010 Sinais dos tempos:um tipo faz uma pergunta num forum de ajuda e manda-no para o google. Afinal para que serve um forum de ajuda?Peço desculpas se não atendi suas expectativas. Pelo teor da sua pergunta, em sua primeira mensagem, minha sugestão era mais que suficiente. E ainda é. Lembre-se: ninguém entra em fórum para trabalhar de graça pra ninguém. Sacrificamos uma fatia de nosso tempo não apenas para dar consultoria grátis e ajudar um colega a resolver seu problema, mas principalmente para ajudá-lo a nunca mais precisar de ajuda. "Procure no Google" é um mantra preciso. Apesar da aparente rispidez da expressão, é um "conselho de amigo", que muitos aqui parecem preferir ignorar. Afinal, "melhor perguntar e aguardar a resposta" dá menos trabalho.Fez juz ao seu nome amigo, malignoTenhos mais de 5000 mensagens num fórum de Clipper (Clipper on-Line) e outras 1300 num fórum de C/C++ (DicasBCB). Sou moderador no de Clipper e administrador no de C/C++. Citando apenas dois fóruns. De todas as minhas mensagens, só em meia dúzia eu é quem peço ajuda. Nas demais eu é quem ajudo. E sempre da melhor forma possível. Se fosse perguntar às milhares de pessoas que já ajudei nos meus 20 anos de programação, saberia o que meu apelido significa. Pense antes de falar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Lopes Postado Outubro 8, 2010 Autor Denunciar Share Postado Outubro 8, 2010 Certamente estou algo longe da solução e não é ácil apanhar ajuda sobre esta funçãoestou a tentar $descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("file", "output.txt", "a") // stderr is a file to write to ); $resource = proc_open("cmd teste.exe", $descriptorspec,$pipes, null, $_ENV, array('bypass_shell'=>true) );e obtenho um ficheiro de nome output com o seguinte: The process tried to write to a nonexistent pipe.O meu programa em c++ (vs 2008) apenas escreve um número (8) e gostaria de apanhar esse número para avançar para o meu trabalho central (validar saídas de programas feitos em c++)Alguma ajuda?Sinais dos tempos:um tipo faz uma pergunta num forum de ajuda e manda-no para o google. Afinal para que serve um forum de ajuda?Peço desculpas se não atendi suas expectativas. Pelo teor da sua pergunta, em sua primeira mensagem, minha sugestão era mais que suficiente. E ainda é. Lembre-se: ninguém entra em fórum para trabalhar de graça pra ninguém. Sacrificamos uma fatia de nosso tempo não apenas para dar consultoria grátis e ajudar um colega a resolver seu problema, mas principalmente para ajudá-lo a nunca mais precisar de ajuda. "Procure no Google" é um mantra preciso. Apesar da aparente rispidez da expressão, é um "conselho de amigo", que muitos aqui parecem preferir ignorar. Afinal, "melhor perguntar e aguardar a resposta" dá menos trabalho.Fez juz ao seu nome amigo, malignoTenhos mais de 5000 mensagens num fórum de Clipper (Clipper on-Line) e outras 1300 num fórum de C/C++ (DicasBCB). Sou moderador no de Clipper e administrador no de C/C++. Citando apenas dois fóruns. De todas as minhas mensagens, só em meia dúzia eu é quem peço ajuda. Nas demais eu é quem ajudo. E sempre da melhor forma possível. Se fosse perguntar às milhares de pessoas que já ajudei nos meus 20 anos de programação, saberia o que meu apelido significa. Pense antes de falar.As minhas desculpas amigo, estava numa má altura quando lhe respondi. Além disso um homem que sabe de clipper é certamente boa gente. Desculpas aceites? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mario Lopes
Amigos
Estou usando o vs2008 para programar em c++ e necessito de fazer um programa que me permita o uso de parametros, ou seja: necessito de criar um executável que se execute da seguinte forma
teste 2 4
e devolve por exemplo o produto, ou seja 8
Alguém ajuda?
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.