c no linux [RESOLVIDO]

1. c no linux [RESOLVIDO]

Xinobio
xinobio

(usa Fedora)

Enviado em 24/06/2009 - 03:43h

pessoal, eu programava em c no win so. ai fiz um programinha aki, e n to sabendo ler uma string. tentei gets, getchar, scanf("%s",nome), e nada!
como eh q faz ??

vlww!


  


2. MELHOR RESPOSTA

Phillipe Smith
Smithux

(usa Arch Linux)

Enviado em 24/06/2009 - 20:33h

Meu camarada, existem muitos programas [ IDEs ] excelentes no Linux.
Vou citar algumas que conheço e recomendo:

- Anjuta [ Excelente IDE com suporte a várias linguagens, para Gnome ]
- Kdevelop [ Outro maravilhoso ambiente de desenvolvimento para KDE ]
- Codeblocks [ Próprio para C/C++ e simplesmente maravilhoso ]
- Geany [ Uma IDE super leve e personalizável para várias linguagens de programação ]
- NetBeans [ Em suas versões mais recentes, provê grande suporte a várias linguagens além de Java ]
- Eclipse [ Excelente ambiente de desenvolvimento para tudo quanto é linguagem ]

Dá uma lida mais aprofundada sobre esses ambientes de desenvolvimento que citei pra ver qual atende melhor as suas necessidades.

Abraços meu velho! ;)

3. Re: c no linux [RESOLVIDO]

Phillipe Smith
Smithux

(usa Arch Linux)

Enviado em 24/06/2009 - 05:37h

Ué... Todos os que você citou funcionam normalmente no Linux.

/* Utilizando SCANF */
int main(int argc, char *argv[])
{
char nome;
printf("Digite seu nome: ");
scanf("%s",&nome);

printf("E aí %s",&nome);

return 0;
}

/* Utilizando o GETS */
int main(int argc, char *argv[])
{
char nome;
printf("Digite seu nome: ");
gets(&nome);

printf("E aí %s",&nome);

return 0;
}

/* Utilizando o GETCHAR, lembrando que ele só pega um caractere */

int main(int argc, char *argv[])
{
char nome;
printf("Digite seu nome: ");
nome=getchar();

printf("E aí %s",&nome);

return 0;
}




4. estranho !?

Xinobio
xinobio

(usa Fedora)

Enviado em 24/06/2009 - 12:20h

amigo, quando uso "gets(nome)", por exemplo, da erro na compilação, aparece la que a função gets eh perigosa e não deveria ser usada! Mas aí coloco pra rodar e da tudo certo ! vc sabe dizer pq o compilador diz que a função gets eh perigosa ? e quando uso o scanf("%s",&nome); acontece o seguinte :
printf("Digite o nome");
scanf("%s",&nome);
printf("%s",nome);//ou printf("%s",&nome);

se vc digitar o nome "Ana Paula" por exemplo, ele so escreve na tela o "Ana" !

tu sabe me responder essas duvidas !?

Mas de qualquer forma mto obrigado !


5. Re: c no linux [RESOLVIDO]

Phillipe Smith
Smithux

(usa Arch Linux)

Enviado em 24/06/2009 - 15:10h

Seguinte meu brother, aparece a mensagem informando que o gets() é perigoso porque o que acontece é que ele pode escrever muito mais do que a memória suporta, tipo se você tem uma variável que guardará o nome e essa terá apenas 10 posições, char[10], com o gets() é possível escrever e ler mais de 100 caracteres se quiser... Por isso ele é perigoso.

Quanto ao scanf:

#include <stdio.h>

int main(int argc, char *argv[])
{
char nome[60];
printf("Digite seu nome: ");
scanf("%[^\n]s",nome);

printf("Olá %s",nome);

return 0;
}

Colocando essa pequena expressão dentro dele, ele será capaz de ler espaços em branco também.


6. valeu!

Xinobio
xinobio

(usa Fedora)

Enviado em 24/06/2009 - 15:24h

cara muito obrigado, me ajudou bastante ! valeu mesmo!

so pra fexar deixa eu te perguntar uma coisa. eu tava começando a usar o borland c++ builder no win, mas agora n kero mais saber de win de vez, e keria saber se tem algum programa estilo ele pra o linux que use linguagem c. sei q tem o qt mas pelo q sei ele eh so com c++! tu sabe algum programa ?


7. valeu

Xinobio
xinobio

(usa Fedora)

Enviado em 24/06/2009 - 20:43h

mto obrigado ai vei ! acho q agora vou apagar mesmo minha partição do windows !

qq coisa entro em contato, vlww