joao.victor Postado Agosto 25, 2018 Denunciar Share Postado Agosto 25, 2018 (editado) para que serve isso, alguém pode explicar?? Editado Agosto 25, 2018 por joao.victor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 25, 2018 Denunciar Share Postado Agosto 25, 2018 O que é isso? você ta passando tarefas para o pessoal do fórum ou tem alguma duvida?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 joao.victor Postado Agosto 25, 2018 Autor Denunciar Share Postado Agosto 25, 2018 (editado) 2 horas atrás, vangodp disse: O que é isso? você ta passando tarefas para o pessoal do fórum ou tem alguma duvida?? ... Editado Agosto 25, 2018 por joao.victor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 26, 2018 Denunciar Share Postado Agosto 26, 2018 main também é uma função, e a consequência disto é que também aceita parâmetros, porem não parâmetros qualquer se não uma lista de parâmetros. Alguma vez você provou o comando ip config no CMD? Abra e digite isso: vão a sair alguns dados relativos a sua configuração ip blablabla, é só um exemplo para ilustrar o uso de parametros dos programas, mais especificamente vamos a provar o uso de parâmetros da função main do bloco de notas. Agora pegue e digite isso, mas antes você precisa dar permissão administrativa para o cmd, então feche a janela do prompt e abra ela como administrador desta forma: Primeiro escreva cmd na txtbox do menu inicio para buscar programas e características do windows Quando sair o CMD na lista como podemos ver na imagem abaixo, use o botão direito do mouse para ver o menu de opções relativas a esse programa e escolha a seguinte opção: Isso vai abrir o prompt em modo administrador. Se não sabe o que isso significa, no nosso caso quer dizer que temos acesso a certas características que por exemplo nos permita salvar arquivos de texto no escritório e muitas outras coisas. Note que agora estamos no modo administrador do sistema. Agora escreva isso: "ipconfig > C:\Users\%username%\Desktop\prova.txt" Agora vai no escritório e procure um arquivo chamado prova.txt, nele estão todos os dados que antes saiam no prompt ao digitar ipconfig. Que aconteceu? Primeiro vai notar que o prompt não aparece nada antes apareciam vários dados sobre sua conexão, mas por alguma estranha razão não aparece nada. O que aconteceu é que desviamos a saída de um programa para outro usando o operador >. O ipconfig nada mais é que um programa, para você ter uma ideia do que falo seria a mesma coisa escrever desta forma: ipconfig.exe,.Se você for um usuário avançado do Windows isso tudo você já deve saber, mas explico desta forma porque o objetivo do fórum não é só ajudar ao dono do post se não ajudar a qualquer usuário que quiser consultar. Bom voltando aqui ao assunto, ipconfig esta dentro da pasta c:\Windows\system32, voce pode comprovar indo nesta pasta e procurando ele lá. O prompt não exige você digitar o .exe mas isso não quer dizer que ipconfig não seja um programa, e ai ta a prova. Agora o mais importante para você entender o exemplo é saber que ao executar o programa ipconfig ou ipconfig.exe, esse programa vai tomar uns dados do sistema relativos a sua ip e vai jogar eles na tela (no promptou CMD, como gostar mais >_<), o caso é que podemos desviar essa saída de dados para o bloco de notas usando os parametros do bloco de notas. E como isso é possivel? tadah!!! Pois é possível porque o bloco de notas tem o argc e argv dá!!!! A essas alturas o que você quer é saber como funciona isso certo? Vamos tentar ver um exemplo fácil mas antes vamos ver o que é isso realmetente e como funciona. Em um sistema operativo tudo são funções, programas são funções, pense que o sistema operativo é uma função, e que ele chama a seu programa, ele chama a main, por isso você deve ter sempre um main no seu programa, de outro modo o sistema operativo não saberia qual função chamar. Se o sistema operativo for uma função ele pode passar parâmetros para outras funções certo? Essa é uma das características de uma função, receber parâmetros e retornar valores entre outras. Então sabendo tudo o anterior agora vamos ver como funciona esses parametros. Nesse ponto serão ainda mais duvidas, algumas delas seriam: Quantos parâmetros pode ter main? Posso usar qualquer tipo parâmetros(float, double, char, etc)? Como funciona? E por aí vai... vamos tentar responder a todas. Quantos parâmetros pode ter main? Somente e sempre 2, ou nenhum! Posso usar qualquer tipo parâmetros(float, double, char, etc)? Não!!! Somente são 2 parâmetros os que aceita, ou nenhum, mas esse não vem ao caso. A função main aceita uma lista e basicamente são de strings, mais concretamente uma matriz de strings, por isso você pode ver isso desta forma char *argv[], ou de esta outra char **argv, é uma matriz dinâmica de strings. O outro parâmetro é um contador int argc, para saber quantas strings recebeu, pode ser zero, 1 ou mais strings que você recebeu, pois se trata de uma lista que tem um tamanho variavel, para poder processar devemos saber o tamanho da lista. Para você fazer uma ideia o que significa argv e argc quer dizer arguments values e arguments count, ou para mais fácil entendimento contador(argc) e lista de argumentos(argv). Vamos fazer uma prova então: #include<stdio.h> #include <stdlib.h> #include <string.h> int main ( int argc, char **argv ) { for ( int i = 0; i < argc; i++ ) printf ( "%s\n", argv[i] ); getchar(); return 0; } Guarde como main.c e compile ele. Logo abra o CMD navegue até a pasta onde você guardou o main.c e onde estiver guardado o main.exe(programa compilado), caso for no seu escritório poderia ser cd c:\Users\%username%\Desktop, digite isso para chegar no escritorio. Agora digite main.exe seguido do que você quiser, tipo "main.exe isto é um exemplo" você deveria poder ver isto na tela: isto es um exemplo O "main.exe isto é um exemplo" quer dizer que você chamou o programa e passou uma lista de argumentos main.exe + lista de argumentos Que aconteceu? Ao receber essa lista de argumentos posso fazer com ela o que bem entender e neste caso peguei cada um dos strings da lista que recebeu main e mostrei em linhas diferentes, só isso. Não adianta rodar ele desde codeblocks, ou desde visual studio, nem outro IDE, tem que ser desde o CMD mesmo, pois codeblocks não passa parâmetros é você que tem que passar os parâmetros desde o CMD. Da uma olhada nesses 2 videos aqui: um é em C++ mas acho que é o melhor mas se n entender veja o outrohttps://www.youtube.com/watch?v=bt4c6ivpAgY https://www.youtube.com/watch?v=SYS1u4A79pU Se tiver duvidas pergunte Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
joao.victor
para que serve isso, alguém pode explicar??
Editado por joao.victorLink para o comentário
Compartilhar em outros sites
3 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.