OFF - Vaga de estágio para programação em C
Cybernet LA - Vaga para estágio A CybernetLA está com uma vaga em aberto para estágio em desenvolvimento de software para sistemas embarcados. Caracteristicas do candidato - Boa noção de lógica - Gostar de desafios - Querer trabalhar com programação em C Local de trabalho: Região da Avenida Paulista - São Paulo/SP - Brasil. Maiores informações por telefone 3284-3720 ou pelo e-mail [EMAIL PROTECTED]
Re: Programação em c.
Só pra resolver a dúvida do nosso amigo Marcos. Eu fiz um programinha pra demonstrar: int main() { float tchan = 123.456789; printf(%%.2f: [%.2f]\n, tchan); printf(%%10.4f: [%10.4f]\n, tchan); printf(%%12f: [%12f]\n, tchan); printf(%%4.f: [%4.f]\n, tchan); } A saída %.2f: [123.46] %10.4f: [ 123.4568] %12f: [ 123.456787] %4.f: [ 123] Portanto um número depois do ponto limita a qtde de casas decimais Um número antes do ponto, ou nenhum ponto foça o tamanho *mínimo* do número como um todo, nesse caso vc poderia tb colocar %012f pra preencher com 0 ao invés de espaços. Se não colocar número antes do ponto não haverá tamanho mínimo para o número. Se não colocar ponto, não haverá número máximo de casas decimais. Se não colocar nada depois do ponto não haverá casas decimais. Passado a limpo. :o) Fabio On 5/8/06, Marcos Vinicius Lazarini [EMAIL PROTECTED] wrote: Fabio A Mazzarino wrote: [...] Solução: Existem duas soluções. Ambas passam por um processo de alocar memória para armazenar o texto convertido. Solução #1 (mais simples) - alocar um array ao invés de um ponteiro 1float pi = 3.1415; 2char escreve[10]; 3sprintf(escreve, %f, pi); Note que na linha 2 vc está alocando 10 caracteres, e que na linha 2 vc passa o array sem índice, que é equivalente a um ponteiro. dois comentários: * vc poderia usar ao invez do %f algo como %9f pra limitar o numero de caracteres (lembre-se que vc tbm tem que lembrar do \0 que vai no final). Só não estou bem certo se a sintaxe %9f funciona ou se tem que ser %9.5f... meu C já está enferrujado :-) Não sei qtos caracteres o %f mostra no máximo, mas do jeito que está, deixa margem pra dar um SegFault ainda. Ou então, vc resolve mudar de float p/ double e esquece de aumentar a string... ai tá feita a mercadoria - e mais um bug (grave) p/ estatísticas... * sempre que possível, é interessante evitar deixar coisas implicitas, então, onde for usar como ponteiro, deixe bem claro pra evitar 'incidentes' depois; algo bem explicito como sprintf((escreve[0]), ... ou talvez sprintf(escreve[], ... ou ainda sprintf(escreve, ... É, definitivamente meu C está bem enferrujado - só testando os comandos acima, mas acredito que todos funcionem da mesma forma. Solução #2 (mais complexa e desnecessária) - alocar um ponteiro e alocar memória manualmente 1float pi = 3.1415; 2char *escreve; 3escreve = malloc(10 * sizeof(char)); 4sprintf(escreve, %f, pi); 5free(escreve); Nesta solução vc continua alocando um ponteiro para caracter, mas logo abaixo explicitamente aloca 10 caracteres em memória. Assim vc tem memória alocada e o ponteiro aponta uma posição de memória alocada para uso do programa. Note que depois do comando free vc não pode mais usar o ponteiro escreve como um ponteiro para uma área de memória alocada, e portanto, dependendo da operação, pode causar outro seg-fault. Nunca é demais lembrar: SEMPRE fazer free() de TODOS os mallocs()!!! :-) Outro dia vi numa camiseta (nerd no último) aqui na unicamp: Feed the children. Save the wales. Free mallocs. :-) -- Marcos -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106
Re: OFF: Livro de programação em C
Eu estou lendo o Beginning with C - An Introduction to Professional Programming de Ron House, da ITP. É meio antiguinho, mas dá conceitos bons para quem está aprendendo à programar e ainda ajuda o pessoal que já programa em outras linguagens à fazer softwares mais eficientes e seguros dando dicas (simples). -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: OFF: Livro de programação em C
gethostbyname escreveu: Na minha humilde opinião, essas são as piores referências possíveis sobre a linguagem de programação C. Os livros de C++ desses autores são tão precários como os de C, principalmente os do Schildt. Os livros do Deitel são até razoáveis, mas não são os melhores. Por que você não aprende diretamente C++? gethostbyname Caro colega de lista, respeito a sua opinião quanto a não gostar dessas obras, mas acredito que se você quer mostrar seu ponto de vista deveria o fazer de forma apropriada. Veja, você não falou o *porque* de você não gostar desses livros, sendo que a maior parte das pessoas que eu conheço aprenderam com os mesmos. Eu particularmente aprendi com o C Completo e Total, gostei bastante do livro porque ele é um guia do ANSI C que é o C padrão que *tem* que funcionar em qualquer lugar. O livro é dividido em três partes, sendo a primeira para explicar a linguagem de programação (gostei muito da abordagem, apesar de muitas pessoas não acharem muito simples). Na segunda parte foi colocado um guia de referencia de *todas* as funções ANSI de todas as bibliotecas. Isso é uma mão na roda quando você ja aprendeu a programar mas esqueceu como aquela função funciona. Na terceira parte o livro aborda conceitos e tecnicas de programação como: fila, pilha, metodos de ordenação etc. Aqui está o motivo pelo qual *eu recomendo* e *muito* este livro, ele serve tanto para quem está aprendendo quanto para quem ja sabe e apenas quer se lembrar de algo. Quanto ao Como programar em C eu gostei da abordagem simples dele, apesar de não o ter lido por completo. O interessante desta obra é que ele possui diversos exercicios para você praticar o que está aprendendo. De forma geral eu notei que quem teve dificuldades com o C completo e total acabou gostando deste livro por ser mais simples. Quanto ao outro livro (dos criadores) eu não o conheço e não possuo opinião formada quanto a ele. Agora, se você expressar a sua opinião sobre o *porque* de sua insatisfação com as referidas bibliografias, talvez possamos observar seu ponto de vista e ver que realmente algo esta errado, mas quanto a chegar, falar que os livros são ruins, não dizer o porque e ir embora, por favor né... PS. Caro flávio, não se esqueça que nenhum livro vai te ensinar efetivamente a programar, o livro apensa te mostra como a linguagem funciona, esta tarefa cabe apenas a você portanto treine bastante :) Rogério Ferreira wrote: Boa noite. Além do excelente livro já citado, recomendo o C completo e total de Hebert Schildt ou o Como programar em c dos irmãos Deitel. --- Rogério Ferreira --- Debian Gnu/Linux 3.1r2 Programador em C/C++ --- O difícil é aprender a ler. O resto está escrito Alexandre Brito escreveu: --- Flávio Barros [EMAIL PROTECTED] escreveu: Qual livro vcs indicaram para quem quer aprender a programar em C ? Olá Flávio, Eu recomendo o livro dos criadores da linguagem: C - A Linguagem de Programação Ritchie, Dennis M. / Kernighan, Brian W. Campus Bons estudos. -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c.
Fabio A Mazzarino wrote: [...] Solução: Existem duas soluções. Ambas passam por um processo de alocar memória para armazenar o texto convertido. Solução #1 (mais simples) - alocar um array ao invés de um ponteiro 1float pi = 3.1415; 2char escreve[10]; 3sprintf(escreve, %f, pi); Note que na linha 2 vc está alocando 10 caracteres, e que na linha 2 vc passa o array sem índice, que é equivalente a um ponteiro. dois comentários: * vc poderia usar ao invez do %f algo como %9f pra limitar o numero de caracteres (lembre-se que vc tbm tem que lembrar do \0 que vai no final). Só não estou bem certo se a sintaxe %9f funciona ou se tem que ser %9.5f... meu C já está enferrujado :-) Não sei qtos caracteres o %f mostra no máximo, mas do jeito que está, deixa margem pra dar um SegFault ainda. Ou então, vc resolve mudar de float p/ double e esquece de aumentar a string... ai tá feita a mercadoria - e mais um bug (grave) p/ estatísticas... * sempre que possível, é interessante evitar deixar coisas implicitas, então, onde for usar como ponteiro, deixe bem claro pra evitar 'incidentes' depois; algo bem explicito como sprintf((escreve[0]), ... ou talvez sprintf(escreve[], ... ou ainda sprintf(escreve, ... É, definitivamente meu C está bem enferrujado - só testando os comandos acima, mas acredito que todos funcionem da mesma forma. Solução #2 (mais complexa e desnecessária) - alocar um ponteiro e alocar memória manualmente 1float pi = 3.1415; 2char *escreve; 3escreve = malloc(10 * sizeof(char)); 4sprintf(escreve, %f, pi); 5free(escreve); Nesta solução vc continua alocando um ponteiro para caracter, mas logo abaixo explicitamente aloca 10 caracteres em memória. Assim vc tem memória alocada e o ponteiro aponta uma posição de memória alocada para uso do programa. Note que depois do comando free vc não pode mais usar o ponteiro escreve como um ponteiro para uma área de memória alocada, e portanto, dependendo da operação, pode causar outro seg-fault. Nunca é demais lembrar: SEMPRE fazer free() de TODOS os mallocs()!!! :-) Outro dia vi numa camiseta (nerd no último) aqui na unicamp: Feed the children. Save the wales. Free mallocs. :-) -- Marcos -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
OFF: Livro de programação em C
Qual livro vcs indicaram para quem quer aprender a programar em C ? ___ Navegue com o Yahoo! Acesso Grátis, assista aos jogos do Brasil na Copa e ganhe prêmios de hora em hora! http://br.yahoo.com/artilheirodacopa/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: OFF: Livro de programação em C
--- Flávio Barros [EMAIL PROTECTED] escreveu: Qual livro vcs indicaram para quem quer aprender a programar em C ? Olá Flávio, Eu recomendo o livro dos criadores da linguagem: C - A Linguagem de Programação Ritchie, Dennis M. / Kernighan, Brian W. Campus Bons estudos. -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://br.info.mail.yahoo.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: OFF: Livro de programação em C
Boa noite. Além do excelente livro já citado, recomendo o C completo e total de Hebert Schildt ou o Como programar em c dos irmãos Deitel. --- Rogério Ferreira --- Debian Gnu/Linux 3.1r2 Programador em C/C++ --- O difícil é aprender a ler. O resto está escrito Alexandre Brito escreveu: --- Flávio Barros [EMAIL PROTECTED] escreveu: Qual livro vcs indicaram para quem quer aprender a programar em C ? Olá Flávio, Eu recomendo o livro dos criadores da linguagem: C - A Linguagem de Programação Ritchie, Dennis M. / Kernighan, Brian W. Campus Bons estudos. -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://br.info.mail.yahoo.com/ ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://br.info.mail.yahoo.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: OFF: Livro de programação em C
Na minha humilde opinião, essas são as piores referências possíveis sobre a linguagem de programação C. Os livros de C++ desses autores são tão precários como os de C, principalmente os do Schildt. Os livros do Deitel são até razoáveis, mas não são os melhores. Por que você não aprende diretamente C++? gethostbyname Rogério Ferreira wrote: Boa noite. Além do excelente livro já citado, recomendo o C completo e total de Hebert Schildt ou o Como programar em c dos irmãos Deitel. --- Rogério Ferreira --- Debian Gnu/Linux 3.1r2 Programador em C/C++ --- O difícil é aprender a ler. O resto está escrito Alexandre Brito escreveu: --- Flávio Barros [EMAIL PROTECTED] escreveu: Qual livro vcs indicaram para quem quer aprender a programar em C ? Olá Flávio, Eu recomendo o livro dos criadores da linguagem: C - A Linguagem de Programação Ritchie, Dennis M. / Kernighan, Brian W. Campus Bons estudos. -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: OFF: Livro de programação em C
Nao concordo com sua opinião sobre os livros citados. On 5/6/06, gethostbyname [EMAIL PROTECTED] wrote: Na minha humilde opinião, essas são as piores referências possíveis sobre a linguagem de programação C. Os livros de C++ desses autores são tão precários como os de C, principalmente os do Schildt. Os livros do Deitel são até razoáveis, mas não são os melhores. Por que você não aprende diretamente C++? gethostbyname Rogério Ferreira wrote: Boa noite. Além do excelente livro já citado, recomendo o C completo e total de Hebert Schildt ou o Como programar em c dos irmãos Deitel. --- Rogério Ferreira --- Debian Gnu/Linux 3.1r2 Programador em C/C++ --- O difícil é aprender a ler. O resto está escrito Alexandre Brito escreveu: --- Flávio Barros [EMAIL PROTECTED] escreveu: Qual livro vcs indicaram para quem quer aprender a programar em C ? Olá Flávio, Eu recomendo o livro dos criadores da linguagem: C - A Linguagem de Programação Ritchie, Dennis M. / Kernighan, Brian W. Campus Bons estudos. -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Ricardo Carlini Sperandio Analista/Consultor Linux Connectcom - GISUT / CEF GEDEL: Grupo Especializado em Desenvolvimento Linux DCC/UFMG - Algum período
Re: Programação em c.
Olá Fernando! Em Sexta 07 Abril 2006 22:58, Fernando Morgenstern escreveu: Nossa, valeu pelo grande número de respostas. Essa lista é 10 :-) O pessoal esta bem tolerante esses dias, você teve sorte. Normalmente perguntas fora do tópico são tratadas com severidade. Sugiro que você procure uma lista especifica sobre programação em C sob Linux, existem muitas. Esta aqui é voltada para o Debian. Outra sugestão é que se acostume a fazer pesquisas no Google sobre os assuntos que você quer perguntar, isso ajuda muito e normalmente você aprende o que queria sem ter que perguntar para a lista. E quando for escrever para a lista, a melhor forma de conseguir uma resposta é fazendo a pergunta de forma correta, veja esse texto: http://www.istf.com.br/?page=perguntas Bom eu comecei a programar em php justamento porque ele é roda tanto em windows quanto linux. Mas dependendo do programa que você vai fazer, simplesmente não dá para usar php pois ele roda no servidor (entre outras coisas). Quanto ao o que você pode fazer realmente não da para comparar C e C++ com PHP. Entretanto cabe uma correção na sua afirmação acima, PHP não tem necessariamente que rodar no servidor, um script PHP pode ser usado standalone. Ai depois que eu vi alguns artigos na internet de pessoas fazendo drivers para linux utlizando C eu fiquei muito curioso e também animado pois gostaria de fazer alguma coisa desse tipo. (Na verdade, quero tentar fazer um controle remoto para o meu Debian, assim posso mudar a música, pausar o dvd, tudo no meu sofá). Não sei se existe, mas eu gostaria de fazer por mim mesmo, para aprender. Já existe sim! :D Mas já existir não é motivo para você não fazer o seu do seu jeito (programador adora reinventar a roda). Uma pesquisa rápida no Google retornou centenas de resultados e esquemas aqui tem um deles: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4165# Abraços! -- Cesar Gimenes Linux user #76132
Re: Programação em c.
obrigado, vou testar o sprintf.On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.???sprintf(s, %f, f); Digite no terminal:man sprintf--Jakson A. Aquinohttp://distante.dyndns.org:8280/--To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c.
Aproveitando a conversa dos senhores. Gostaria de saber como vocês começaram aprender C, poderiam me recomendadar algum tutorial básico? Eu programo bastante em php, as coisas são muito diferentes? Em 07/04/06, elementar[EMAIL PROTECTED] escreveu: obrigado, vou testar o sprintf. On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Fernando Marcelo Morgenstern Programador Web
Re: Programação em c.
agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou???On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf.On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.???sprintf(s, %f, f); Digite no terminal:man sprintf--Jakson A. Aquinohttp://distante.dyndns.org:8280/ --To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c.
se você quer aprender a sintaxe, é bom pegar o começo. http://www.inf.ufrgs.br/~nmaillard/info1040/c.pdf esse da unicamp é bem legal!!!On 4/7/06, elementar [EMAIL PROTECTED] wrote: agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou???On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf.On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.???sprintf(s, %f, f); Digite no terminal:man sprintf--Jakson A. Aquinohttp://distante.dyndns.org:8280/ --To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c.
obrigado pessoal, o proble era que pra declarar o char *escreve tem que dizer o tamanho, exemplo. char *escreve[20]; obrigado, e agora vai.On 4/7/06, elementar [EMAIL PROTECTED] wrote: se você quer aprender a sintaxe, é bom pegar o começo. http://www.inf.ufrgs.br/~nmaillard/info1040/c.pdf esse da unicamp é bem legal!!!On 4/7/06, elementar [EMAIL PROTECTED] wrote: agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou???On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf.On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.???sprintf(s, %f, f); Digite no terminal:man sprintf--Jakson A. Aquinohttp://distante.dyndns.org:8280/ --To UNSUBSCRIBE, email to [EMAIL PROTECTED]with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c.
Me desculpem a pergunta idiota, mas C funciona em windows e linux? Ou só linux? Em 07/04/06, elementar[EMAIL PROTECTED] escreveu: se você quer aprender a sintaxe, é bom pegar o começo. http://www.inf.ufrgs.br/~nmaillard/info1040/c.pdf esse da unicamp é bem legal!!! On 4/7/06, elementar [EMAIL PROTECTED] wrote: agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou??? On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf. On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Fernando Marcelo Morgenstern Programador Web
Re: Programação em c.
O difícil é dizer onde não funciona. --- Fernando Morgenstern [EMAIL PROTECTED] escreveu: Me desculpem a pergunta idiota, mas C funciona em windows e linux? Ou só linux? Em 07/04/06, elementar[EMAIL PROTECTED] escreveu: se você quer aprender a sintaxe, é bom pegar o começo. http://www.inf.ufrgs.br/~nmaillard/info1040/c.pdf esse da unicamp é bem legal!!! On 4/7/06, elementar [EMAIL PROTECTED] wrote: agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou??? On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf. On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Fernando Marcelo Morgenstern Programador Web -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://br.info.mail.yahoo.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c.
Erro clássico. Normalmente por quem veio de outras linguagens. Em C o compilador não aloca *nada* pra vc. Vc tem que alocar *tudo*. Vamos ver o código com erro: 1float pi=3.1415; 2char *escreve; 3sprint(escreve,pi = %f,pi); Na linha 1 vc aloca uma variável do tipo float e já atribui um valor. Na linha 2 vc aloca um _ponteiro_ para um char Na linha 3 vc converte um float em uma notacao legível e coloca no conteúdo de memória apontado pelo ponteiro. Se vc prestar atenção vai perceber que vc não apontou o ponteiro para lugar algum. Portanto ele pode estar apontando para qq lugar na memória. Nesse caso é simplesmente impossĩvel prever oq vai acontecer (em raríssimas condições pode acontecer de funcionar). Solução: Existem duas soluções. Ambas passam por um processo de alocar memória para armazenar o texto convertido. Solução #1 (mais simples) - alocar um array ao invés de um ponteiro 1float pi = 3.1415; 2char escreve[10]; 3sprintf(escreve, %f, pi); Note que na linha 2 vc está alocando 10 caracteres, e que na linha 2 vc passa o array sem índice, que é equivalente a um ponteiro. Solução #2 (mais complexa e desnecessária) - alocar um ponteiro e alocar memória manualmente 1float pi = 3.1415; 2char *escreve; 3escreve = malloc(10 * sizeof(char)); 4sprintf(escreve, %f, pi); 5free(escreve); Nesta solução vc continua alocando um ponteiro para caracter, mas logo abaixo explicitamente aloca 10 caracteres em memória. Assim vc tem memória alocada e o ponteiro aponta uma posição de memória alocada para uso do programa. Note que depois do comando free vc não pode mais usar o ponteiro escreve como um ponteiro para uma área de memória alocada, e portanto, dependendo da operação, pode causar outro seg-fault. Acho que isso esclarece um pouco. Fabio. P.S.: Sim, eu gostaria muito de dar aulas de C/C++, e estou no Vale do Paraíba. On 4/7/06, Alexandre Brito [EMAIL PROTECTED] wrote: O difícil é dizer onde não funciona. --- Fernando Morgenstern [EMAIL PROTECTED] escreveu: Me desculpem a pergunta idiota, mas C funciona em windows e linux? Ou só linux? Em 07/04/06, elementar[EMAIL PROTECTED] escreveu: se você quer aprender a sintaxe, é bom pegar o começo. http://www.inf.ufrgs.br/~nmaillard/info1040/c.pdf esse da unicamp é bem legal!!! On 4/7/06, elementar [EMAIL PROTECTED] wrote: agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou??? On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf. On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Fernando Marcelo Morgenstern Programador Web -- Alexandre R. Brito Linux user #279787 [http://counter.li.org/] [EMAIL PROTECTED] skype - ale532002 ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://br.info.mail.yahoo.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106
Re: Programação em c.
Fernando: Existem diversas coisas diferentes entre php e C. Eu diria que é bem parecido, e que com um bom livro ou um bom professor vc acaba por tirar de letra, mas vai precisar estudar um bocado. Tenta pegar o livro 'C Completo e Total'. É show de bola. Boa sorte. Fabio On 4/7/06, Fernando Morgenstern [EMAIL PROTECTED] wrote: Aproveitando a conversa dos senhores. Gostaria de saber como vocês começaram aprender C, poderiam me recomendadar algum tutorial básico? Eu programo bastante em php, as coisas são muito diferentes? Em 07/04/06, elementar[EMAIL PROTECTED] escreveu: obrigado, vou testar o sprintf. On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Fernando Marcelo Morgenstern Programador Web -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106
Re: Programação em c.
Fernando: Existem diferenças muito profundas nas implementações do sistema operacional para que os mesmos binários sejam utilizados. Portanto o mm binário não funciona de jeito nenhum (isso vc já deve saber). Existem outros aspectos tabém. Existem muitas implementações de compiladores C/C++, e o mais popular no ambiente Linux não é o mais popular no ambiente Windows. Pra vc ter uma idéia, é normal vc compilar um programa no Linux, que depois não compila numa HP-UX. Normalmente *o código* (atenção, o código) só é portável quando vc utiliza o mesmo compilador em ambas as plataformas e se vale das práticas indicadas para manter compatibilidade. Ainda assim existe incompatibilidades tão profundas entre Unix e Windows que é preciso utilizar muitas diretivas de pré-compilação no código. Basta citar a diferença do separador de diretório no Unix e no Windows. Portanto, não conte com a portabilidade. Fabio A Mazzarino On 4/7/06, Fernando Morgenstern [EMAIL PROTECTED] wrote: Me desculpem a pergunta idiota, mas C funciona em windows e linux? Ou só linux? Em 07/04/06, elementar[EMAIL PROTECTED] escreveu: se você quer aprender a sintaxe, é bom pegar o começo. http://www.inf.ufrgs.br/~nmaillard/info1040/c.pdf esse da unicamp é bem legal!!! On 4/7/06, elementar [EMAIL PROTECTED] wrote: agora está dando falha de segmentação, mas o codigo é assim mesmo??? float pi=3.1415; char *escreve; sprint(escreve,pi = %f,pi); estou errando nada ou estou??? On 4/7/06, elementar [EMAIL PROTECTED] wrote: obrigado, vou testar o sprintf. On 4/6/06, Jakson A. Aquino [EMAIL PROTECTED] wrote: On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- Fernando Marcelo Morgenstern Programador Web -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106
Re: Programação em c.
Em Sexta 07 Abril 2006 17:11, Fernando Morgenstern escreveu: Me desculpem a pergunta idiota, mas C funciona em windows e linux? Ou só linux? Ta desculpado Fernando. C funciona em qualquer lugar! Não existe uma plataforma que não tenha um compilador C para ela. Por exemplo, é bem provável que o programinha que roda no chip que esta dentro do controle remoto da sua TV tenha sido escrito em C. C não apenas roda no Windows, o Windows foi feito em C (Linux também claro) -- Cesar Gimenes Linux user #76132
Re: Programação em c.
Em Sexta 07 Abril 2006 16:26, Fernando Morgenstern escreveu: Aproveitando a conversa dos senhores. Gostaria de saber como vocês começaram aprender C, poderiam me recomendadar algum tutorial básico? STFW http://www.google.com/search?q=tutorial+basico+Clr=lang_pt Eu programo bastante em php, as coisas são muito diferentes? PHP esta para C assim como água esta para chocolate. -- Cesar Gimenes Linux user #76132
Re: Programação em c.
Nossa, valeu pelo grande número de respostas. Essa lista é 10 :-) Bom eu comecei a programar em php justamento porque ele é roda tanto em windows quanto linux. Mas dependendo do programa que você vai fazer, simplesmente não dá para usar php pois ele roda no servidor (entre outras coisas). Ai depois que eu vi alguns artigos na internet de pessoas fazendo drivers para linux utlizando C eu fiquei muito curioso e também animado pois gostaria de fazer alguma coisa desse tipo. (Na verdade, quero tentar fazer um controle remoto para o meu Debian, assim posso mudar a música, pausar o dvd, tudo no meu sofá). Não sei se existe, mas eu gostaria de fazer por mim mesmo, para aprender. Bom é isso ai, vou começar a ler as apostilas.. :P Em 07/04/06, Cesar[EMAIL PROTECTED] escreveu: Em Sexta 07 Abril 2006 16:26, Fernando Morgenstern escreveu: Aproveitando a conversa dos senhores. Gostaria de saber como vocês começaram aprender C, poderiam me recomendadar algum tutorial básico? STFW http://www.google.com/search?q=tutorial+basico+Clr=lang_pt Eu programo bastante em php, as coisas são muito diferentes? PHP esta para C assim como água esta para chocolate. -- Cesar Gimenes Linux user #76132 -- Fernando Marcelo Morgenstern Programador Web
Programação em c.
Olá,Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.???Obrigado.
Re: Programação em c.
printf On 4/6/06, elementar [EMAIL PROTECTED] wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? Obrigado. -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106
Re: Programação em c.
oops. digo sprintf On 4/6/06, Fabio A Mazzarino [EMAIL PROTECTED] wrote: printf On 4/6/06, elementar [EMAIL PROTECTED] wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? Obrigado. -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106 -- Não existem Killer Applications de Código Aberto em Java. Ajude a provar o contrário: http://drupal.gulivap.org/?q=node/106
Re: Programação em c.
On Thu, Apr 06, 2006 at 07:23:27PM -0300, elementar wrote: Olá, Alguem sabe uma função inversa a atof, que é de string para float, uma de float para string.??? sprintf(s, %f, f); Digite no terminal: man sprintf -- Jakson A. Aquino http://distante.dyndns.org:8280/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Programação em c++ no linux!!
e ae, blz?? entao, pelo menos na parte de automacao, tipo progrmacao para controle da porta paralela entre outros, tem um site legal.. www.rogercom.com da uma olhada lah, vale a pena.. falows! On Wed, 30 Jul 2003, João salvatti wrote: Pessoal o Linux é excelente para uma pessoa aprender a programar, e é por isso que eu quero que vocês, se possível me ajudem com isto!! Já estou cansado de fazer aqueles programas inúteis em c++, quero partir para algo mais avançado, já comprei vários livros sobre c++, mas sempre é a mesma ladainha. Gostaria de saber onde eu encontro informação sobre funções avançadas em c++, por exemplo, como usar os recursos do sistema, como criar conexões, abrir portas etc. Se algum de vocês conhe um livro (de preferência em português) ou tutorial sobre o assunto e puder me informar eu ficao agradecido. Desde já valeu. João Salvatti. [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- --- - Alexandre Augusto Caramanti Coconesi- - Ciencia da Computacao 2002 - Unesp - - [EMAIL PROTECTED] - - Sao Jose do Rio Preto - SP - ---
Re: Programação em c++ no linux!!
On Wed, 30 Jul 2003 22:51:00 -0300 (ART) Rodrigo F. Baroni [EMAIL PROTECTED] wrote: e ae Joao, --- João salvatti [EMAIL PROTECTED] escreveu: cut Gostaria de saber onde eu encontro informação sobre funções avançadas em c++, cut www.advancedlinuxprogramming.com É verdade, este livro é show de bola, recomendo mesmo, basta ter um conhecimento básico de C pra se virar, tirando que está em inglês o resto é fenomenal, eu até estava a fins de traduzir o livro, assim podia melhorar três coisas de uma tacada só: - iria aprender melhor o funcionamento do Linux; - iria aprender melhor vários conceitos de programação avançada; - iria aprender melhor inglês... O problema é tempo... ou me organizar melhor. Sucesso a todos Flavio Alberto Nao eh especifico de C++, mas cobre **MUITAS** tecnicas e recursos que o proprio kernel linux oferece para desenvolvimento, apresentando exemplos. Entre os topicos: threads, semaforos, comunicacao entre processos (IPC), sockets, chamadas de sistemas, memoria compartilhada, bibliotecas, etc. Recomendo altamente. Imprima, cole na parede do seu quarto, faca camisetas com os codigos q vc mais gostar, etc... Faltam 2 capitulos para eu terminar o livro.. []s Rodrigo F Baroni ___ Conheça o novo Cadê? - Mais rápido, mais fácil e mais preciso. Toda a web, 42 milhões de páginas brasileiras e nova busca por imagens! http://www.cade.com.br -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Programação em c++ no linux!!
Pessoal o Linux é excelente para uma pessoa aprender a programar, e é por isso que eu quero que vocês, se possível me ajudem com isto!! Já estou cansado de fazer aqueles programas inúteis em c++, quero partir para algo mais avançado, já comprei vários livros sobre c++, mas sempre é a mesma ladainha. Gostaria de saber onde eu encontro informação sobre funções avançadas em c++, por exemplo, como usar os recursos do sistema, como criar conexões, abrir portas etc. Se algum de vocês conhe um livro (de preferência em português) ou tutorial sobre o assunto e puder me informar eu ficao agradecido. Desde já valeu. João Salvatti. [EMAIL PROTECTED]
Re: Programação em c++ no linux!!
On Wed, 30 Jul 2003 12:15:44 -0300, João salvatti wrote: Pessoal o Linux é excelente para uma pessoa aprender a programar, e é por isso que eu quero que vocês, se possível me ajudem com isto!! Já estou cansado de fazer aqueles programas inúteis em c++, quero partir para algo mais avançado, já comprei vários livros sobre c++, mas sempre é a mesma ladainha. Gostaria de saber onde eu encontro informação sobre funções avançadas em c++, por exemplo, como usar os recursos do sistema, como criar conexões, abrir portas etc. Se algum de vocês conhe um livro (de preferência em português) ou tutorial sobre o assunto e puder me informar eu ficao agradecido. Pode quebrar a linha em no máximo 80 colunas? -- _ Leandro Guimarães Faria Corsetti Dutra +41 (21) 648 11 34 / \ http://br.geocities.com./lgcdutra/ +41 (78) 778 11 34 \ / Answer to the list, not to me directly!+55 (11) 5686 2219 / \ Rate this if helpful: http://svcs.affero.net/rm.php?r=leandro
Re: Programação em c++ no linux!!
On Wed, 30 Jul 2003 13:51:08 -0300, Daniel Cristian Cruz wrote: Tem como usar um cliente de e-mail configurável? Não entendi. Cansei de receber estas suas mensagens na lista. Mande só para o cara. É só não ler. -- _ Leandro Guimarães Faria Corsetti Dutra +41 (21) 648 11 34 / \ http://br.geocities.com./lgcdutra/ +41 (78) 778 11 34 \ / Answer to the list, not to me directly!+55 (11) 5686 2219 / \ Rate this if helpful: http://svcs.affero.net/rm.php?r=leandro
Re: Programação em c++ no linux!!
e ae Joao, --- João salvatti [EMAIL PROTECTED] escreveu: cut Gostaria de saber onde eu encontro informação sobre funções avançadas em c++, cut www.advancedlinuxprogramming.com Nao eh especifico de C++, mas cobre **MUITAS** tecnicas e recursos que o proprio kernel linux oferece para desenvolvimento, apresentando exemplos. Entre os topicos: threads, semaforos, comunicacao entre processos (IPC), sockets, chamadas de sistemas, memoria compartilhada, bibliotecas, etc. Recomendo altamente. Imprima, cole na parede do seu quarto, faca camisetas com os codigos q vc mais gostar, etc... Faltam 2 capitulos para eu terminar o livro.. []s Rodrigo F Baroni ___ Conheça o novo Cadê? - Mais rápido, mais fácil e mais preciso. Toda a web, 42 milhões de páginas brasileiras e nova busca por imagens! http://www.cade.com.br
Re: programação em c no linux
vc. precisa linkar a biblioteca matemática gcc -lm seu_programa.c -o seu_programa Um abraço, Nivaldo João Salvatti wrote: Pessoal quando eu vou compilar um programa em c no linux (debian 30 woody) que precia de bibliotecas matemáticas como a math.h, eu coloco a função sqrt ai eu dou o comando gcc programa.c -o programa ai vem a mensagem undefined reference to 'sqrt'. Aguém pode me dar uma ajuda. Desde já valeu.
programação em c no linux
Pessoal quando eu vou compilar um programa em c no linux (debian 30 woody) que precia de bibliotecas matemáticas como a math.h, eu coloco a função sqrt ai eu dou o comando gcc programa.c -o programa ai vem a mensagem undefined reference to 'sqrt'. Aguém pode me dar uma ajuda. Desde já valeu.
[OT] Re: duvida [sic] (so bre programação em C para Internet)
On Tue, Dec 17, 2002 at 10:38:53AM -0300, Katagan Sleepers wrote: Oi, eu gostaria de saber como imprimir uma string em um determinado local de um site usando a linguagem c. ex: imprimir uma string na barra de busca do site google. Você poderia detalhar um pouco mais o que você quer? É CGI? Ou você quer escrever a string no browser? Nesse caso, use JavaScript. Ou você quer fazer um programa em C que, ao rodar, se conecta ao Google, envia sua string para lá, realiza a pesquisa e baixa os resultados? Para fazer isso, o lynx serve muito bem. Por exemplo, digamos que sua pesquisa seja Linux para Iniciantes. Para fazer isso diretamente com o lynx, digite $ lynx http://www.google.com?q=Linux+para+Iniciantes Ou então faça um script em bash: #!/bin/sh ## Baixa resultados de uma pesquisa do Google ## if [ ! $1 ] ; then echo Uso: $0 string-da-pesquisa arquivo-de-saida; echo string: a string que você quer pesquisar; echo arquivo-de-saída: o arquivo em que você quer guardar; echo o resultado da pesquisa (argumento opcional.); exit; fi if [ ! $2 ] ; then $2 = $HOME/saida; fi lynx -dump http://www.google.com/?q=$1; $2; echo O resultado está em $2; exit; # salve este script com um nome qualquer e lembre-se de torná-lo # executável com chmod +x nome-do-script ## Fim do script Não acho que seja necessário escrever um programa em C só para fazer isso. Além de ser complexo já existem outros programas que fazem isso. Não se deve reinventar a roda, sabe? Obrigado! - Busca Yahoo! O melhor lugar para encontrar tudo o que você procura na Internet -- José de Paula Rodrigues Neto Assis Linux User 175920 Brasília - DF - Brasil counter.li.org
Re: programação em C
On Thursday 05 July 2001 02:42, Death Angel wrote: ola, agradeço a atenção em relação a msg anterior. como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, Eles foram os criadores do C e desenvolvedores do Unix juntamente com Ken Thompson, mas acho que esse livro é uma tradução de uma edição lançada antes da padronização do C pelo ANSI (American National Standards Institute). se naum for um bom livro me avisem. Livros do Kernighan e Ritchie são sempres excelentes, mas hoje em dia usa-se mais o ANSI C do que o C de Kernighan Ritchie (como é conhecido). o prama eh minusculo, como ja foi dito o erro foi no começo do livro ele conta caracteres. /*aqui esta o fonte*/ main () { long nc; nc = 0; while (getchar () != EOF) ++ nc printf (%|d\n, nc); } eh acho que receberei uma resposta logo, visto que o programa eh muito simples. muito obrigado pela ajuda. #include stdio.h /* printf e getchar estão em stdio.h */ int main( int argc, char **argv ) /* Funcao main deve sempre retornar valor, nunca untyped (sem tipo) ou tipo void ( nao retorna valor, ex. void main(... ) int argc retorna numero de parametros de linha de comando char **argv retorna string contendo os parametros de linha de comando */ { long nc; nc = 0; while (getchar () != EOF) /* EOF é igual ao CTRL+D */ ++nc; printf (%d\n, nc); return 0; /* Recomenda-se que main sempre retorne valor visto que esse valor retornado possa ser usado por outros programas pra saberem se o seu programa obteve sucesso ou falha na execução. */ } veja a documentacao da bliblioteca C do projeto GNU, essa bliblioteca que você tem no Linux: http://www.gnu.org/manual/glibc-2.2.3/libc.html Manuais e informações sobre o GCC (GNU C Compiler) o compilador dos sistemas GNU: http://www.gnu.org/software/gcc/onlinedocs/ Saiba um pouco mais sobre o sistema de documentação do Linux e do C nesses sites abaixo: http://www.gnu.org/doc/doc.pt.html (portugues) http://www.linuxdoc.org (ingles)
Re: [OFF TOPIC] programação em C
Emerson, seu email foi excelente: muitas informações quentes sobre programação em C e páginas de documentação. Gostaria de complementar duas coisas: de fato, Kernighan Ritchie criaram um C que não é mais usado. Contudo, o livro de Kernighan Ritchie tem (pelo menos) duas edições: a primeira é sobre o C que eles criaram, o K R C. A segunda é sobre o ANSI C, definido por um comitê. Problema: no Brasil a 2a. edição foi assassinada pela editora que o traduziu. Até o índice remissivo está errado. :-( A primeira edição teve uma boa tradução. O mais triste é que os dois livros foram muito bem escritos, e vale a pena lê-los em inglês. Talvez por serem os criadores do C original, mesmo a 2a. edição ainda mantém o estilo antigo. Por isso, valem as correções do Emerson para o programa de contagem de linhas mostrado por Death Angel. Além dos padrões K R e ANSI, saiu o próximo padrão internacional do C, chamado C99, que já deve estar sendo implementado nos compiladores mais recentes. Apesar de aceitar o ANSI C como subconjunto, o C99 oferece um monte de alterações que todo programador C vai ter de aprender. Tenho visto na revista C/C++ Users Journal uma série de colunas interessante sobre C99. Seguindo os links sugeridos pelo Emerson, chega-se em http://gcc.gnu.org/gcc-3.0/c99status.html que informa que o suporte ao C99 disponível no GCC 3.0 ainda é muito limitado. De qlq modo, deve ser melhor do que o suporte oferecido por muitos compiladores comerciais. Como de costume. :-) []s, Hilton --- Emerson Val Silva [EMAIL PROTECTED] wrote: On Thursday 05 July 2001 02:42, Death Angel wrote: ola, agradeço a atenção em relação a msg anterior. como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, Eles foram os criadores do C e desenvolvedores do Unix juntamente com Ken Thompson, mas acho que esse livro é uma tradução de uma edição lançada antes da padronização do C pelo ANSI (American National Standards Institute). se naum for um bom livro me avisem. Livros do Kernighan e Ritchie são sempres excelentes, mas hoje em dia usa-se mais o ANSI C do que o C de Kernighan Ritchie (como é conhecido). o prama eh minusculo, como ja foi dito o erro foi no começo do livro ele conta caracteres. /*aqui esta o fonte*/ main () { long nc; nc = 0; while (getchar () != EOF) ++ nc printf (%|d\n, nc); } eh acho que receberei uma resposta logo, visto que o programa eh muito simples. muito obrigado pela ajuda. #include stdio.h /* printf e getchar estão em stdio.h */ int main( int argc, char **argv ) /* Funcao main deve sempre retornar valor, nunca untyped (sem tipo) ou tipo void ( nao retorna valor, ex. void main(... ) int argc retorna numero de parametros de linha de comando char **argv retorna string contendo os parametros de linha de comando */ { long nc; nc = 0; while (getchar () != EOF) /* EOF é igual ao CTRL+D */ ++nc; printf (%d\n, nc); return 0; /* Recomenda-se que main sempre retorne valor visto que esse valor retornado possa ser usado por outros programas pra saberem se o seu programa obteve sucesso ou falha na execução. */ } veja a documentacao da bliblioteca C do projeto GNU, essa bliblioteca que você tem no Linux: http://www.gnu.org/manual/glibc-2.2.3/libc.html Manuais e informações sobre o GCC (GNU C Compiler) o compilador dos sistemas GNU: http://www.gnu.org/software/gcc/onlinedocs/ Saiba um pouco mais sobre o sistema de documentação do Linux e do C nesses sites abaixo: http://www.gnu.org/doc/doc.pt.html (portugues) http://www.linuxdoc.org (ingles) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] __ Do You Yahoo!? Get personalized email addresses from Yahoo! Mail http://personal.mail.yahoo.com/
Re: programação em C
On Thu, Jul 05, 2001 at 02:42:34AM -0300, Death Angel wrote: ola, agradeço a atenção em relação a msg anterior. como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, se naum for um bom livro me avisem. Bem, estou com um livro igual a esse, ele não é ruim, apenas meio desatualizado, e de inicio como o próprio autor diz um pouco complexo, mas apartir do Cap. II fica mais amigavel(pois o primeiro faz uma abordagem geral do C). Se servir de sugestão comece por: http://ead1.eee.ufmg.br/cursos/C/ É bem interessante esse curso, para iniciantes em C, e aborda Linux. o prama eh minusculo, como ja foi dito o erro foi no começo do livro ele conta caracteres. /*aqui esta o fonte*/ main () { long nc; nc = 0; while (getchar () != EOF) ++ nc printf (%|d\n, nc); } Quanto a código acima, podem estar ocorrendo dois erros: 1o - falta um ;(ponto e virgula) depois do ++ nc, entre o ++ e o nc tem um espaço e vc está usando um i maiusculo(I) ao inves de um l minusculo(l), pois o l é de long da qual vc declarou a variavel nc. - O correto seria: ++nc; printf (%ld\n, nc); 2o - (mas como o erro anterior nao ocorre no livro, acredito que vc tenho cometido na hora de enviar o mail para lista), pode ser o seguinte (O qual tive aqui). - Na hoara de compilar aparece a seguinte msg: [EMAIL PROTECTED]:~/programacao/learn$ gcc teste.c teste.c: In function `main': teste.c:6: `EOF' undeclared (first use in this function) teste.c:6: (Each undeclared identifier is reported only once teste.c:6: for each function it appears in.) O compilador informa que 'EOF' nao foi declarado. O 'EOF' indica o fim de arquivo, e ele faz parte do cabecalho 'stdio.h', o qual o autor nao declara (nao sei pq). Isso ocorre em todos os exemplos do livro, por isso achei o mesmo desatualizado. Tudo bem, mas para resolver o problema basta incluir o cabeçalho 'stdio.h' no inicio do programa, e no final o código correto ficaria assim: #include stdio.h main () { long nc; nc = 0; while (getchar () != EOF) ++nc; printf (%ld\n, nc); } PS: Depois de executar o programa, use CTRL+D para terminalo, assim o 'EOF' passa a ser verdadeiro e é terminado o whlile. eh acho que receberei uma resposta logo, visto que o programa eh muito simples. Espero nao ter demorado :). muito obrigado pela ajuda. Se valer, de nada! -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
programação em C
ola, agradeço a atenção em relação a msg anterior. como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, se naum for um bom livro me avisem. o prama eh minusculo, como ja foi dito o erro foi no começo do livro ele conta caracteres. /*aqui esta o fonte*/ main () { long nc; nc = 0; while (getchar () != EOF) ++ nc printf (%|d\n, nc); } eh acho que receberei uma resposta logo, visto que o programa eh muito simples. muito obrigado pela ajuda.
Re: programação em C
Death Angel wrote: ola, agradeço a atenção em relação a msg anterior. como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, se naum for um bom livro me avisem. Livro bom? É simplesmente a Bíblia... ou melhor Gênesis, já que esse livro é simplesmente a descrição do núcleo do C pelos autores da linguagem. Por outro lado é menos um tutorial de programação (apesar do formato de tutorial) que uma descrição sucinta, então talvez você queira encontrar um tutorial de programação C em GNU/Linux. -- _ / \ Leandro Guimarães Faria Corsetti Dutra +49 (211) 533 43 51 \ / Amdocs Deutschland, Düsseldorf +49 (211) 59 59 59 0 r 202 X http://geocities.com./lgdutra/ mailto:[EMAIL PROTECTED] / \ Campanha fita ASCII contra correio HTML mailto:[EMAIL PROTECTED]
Re: programação em C
On Thu, Jul 05, 2001 at 02:42:34AM -0300, Death Angel wrote: como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, se naum for um bom livro me avisem. Bom? É a bíblia de C! :) Foi escrito pelos criadores da linguagem. Todo mundo deveria ter esse livro... o prama eh minusculo, como ja foi dito o erro foi no começo do livro ele conta caracteres. Em que página isso? /*aqui esta o fonte*/ main () Antes disso: #include stdio.h. { long nc; nc = 0; while (getchar () != EOF) Erro óbvio aqui. Você tem que colocar: while (getchar () != EOF) { ++ nc Toda linha tem de terminar com ponto e vírgula, então, em vez de ++ nc, ++nc;. printf (%|d\n, nc); Não é |d, e sim 1d. (eu também tenho o livro.) } Precisa de mais um colchete pra fechar aqui. eh acho que receberei uma resposta logo, visto que o programa eh muito simples. Evite postar mensagens off-topic feito essa na lista. É uma lista sobre Debian, e não programação em C. -- _ _ _| _ _ | _ . _ | _ carlos.debian.net Debian-BR Project (_(_|| |(_)_) |(_|\/|(_)|(_| uin#: 981913 (icq) debian-br.sf.net Linux: the choice of a GNU generation - Registered Linux User #103594
Re: programação em C
Ricardo Melo wrote: Death Angel wrote: ola, agradeço a atenção em relação a msg anterior. como ja disse comecei a estudar linguagem C, e logo no começo do livro encontrei um programa que naum funciona, o livro eh C A linguagem de programação de Brian W. Kernighan Dennis M. Ritchie, se naum for um bom livro me avisem. Olá, O programa é assim. #include stdio.h main() { long nc; nc = 0; while (getchar() != EOF) { ++nc; printf(%1d\n, nc); } }begin:vcard n:Melo;Ricardo tel;home:3227.7165 x-mozilla-html:FALSE adr:;;R. Gregorio Junior 276,-Cordeiro;Recife;Pernambuco;; version:2.1 email;internet:[EMAIL PROTECTED] x-mozilla-cpt:;-22400 fn:Ricardo Melo end:vcard