Arquivo

Artigos com Etiquetas ‘Linux’

Problemas com scanf+strings? Aqui a solução

Algumas pessoas tem problema com o uso de scanf, principalmente no uso de espaços nas strings, para resolver isso tem um macete muito simples. Digamos o código abaixo:

#include<stdio.h>
int main()
{
char frase[50];
printf("Digite a uma frase: ");
scanf("%s",frase);
printf("A frase digitada foi: %s\n");
return 0;
}

Compile: gcc frase.c -o frase

Resultado:

bash-3.1$ frase
Digite a uma frase: joao caiu feio
A frase digitada foi: joao
bash-3.1$

Para resolve esse problema do scanf não capturando o resto da frase usando o parâmetro %[^\n] ao invés de %s, por exemplo:

#include<stdio.h>
int main()
{
char frase[50];
printf("Digite a uma frase: ");
scanf("%[^\n]",frase);
printf("A frase digitada foi: %s\n");
return 0;
}

Compile: gcc frase2.c -o frase2

Resultado:
bash-3.1$ ex6
Digite a uma frase: joao caiu feio
A frase digitada foi: joao caiu feio
bash-3.1$

Agora a frase foi devidamente capturando, para evitarmos overflows no uso desse parâmetro no scanf, colocando %limite[^\n], sendo limite igual ao valor máximo de caracteres que a função scanf ira armazenar na variável. Ficando desta forma.

#include<stdio.h>
int main()
{
char frase[50];
printf("Digite a uma frase: ");
scanf("%49[^\n]",frase);
printf("A frase digitada foi: %s\n");
return 0;
}

Para limpar o buffer após o uso de scanf com este parâmetro, usamos getchar() após o scanf.

#include<stdio.h>
int main()
{
char frase[50];
printf("Digite a uma frase: ");
scanf("%49[^\n]",frase);
getchar();
printf("A frase digitada foi: %s\n");
return 0;
}

Espero que a dica sirva para poderem resolver seus problemas o uso de scanf e strings. Bons estudos a todos. Nas referências tem um link com um tabela informando uma serie de parâmetros interessantes para o uso de scanf, no segundo link tem uma artigo do com diversas dicas para printf e scanf a dupla dinâmica.

Referência:

Como usar o scanf() para strings com espaços
Parâmetros interessantes do scanf e do printf em C

Categories: Programação Tags: , ,

FLISOL 2010 DF

A participação no FLISOL 2010 Brasília é totalmente gratuita e será certificada. Para participar basta se dirigir até o local do evento (FAJESU) no dia 24 de Abril de 2010, a partir das 08:00h até as 18:00h, se desejar, com seu computador para instalarmos software livre durante todo o dia do evento.

Se não quiser levar seu computador para instalar software livre, mesmo assim poderá participar assistindo a palestras, mini-cursos e interagindo com outros visitantes e usuários de software livre.

Traga sua família e amigos tanto para conhecer melhor a respeito do software livre quanto para trocar experiências do mundo livre, seja você um usuário com qualquer nível de conhecimento.

Você pode participar de três formas:

  • Como PALESTRANTE, INSTRUTOR de MINI-CURSOS do evento, até o dia 10 de Abril de 2010. Neste caso basta fazer o DOWNLOAD do formulário de proposta de atividade e enviar para o e-mail da ORGANIZAÇÃO do evento organizacao@flisoldf.blog.br com o assunto: “CHAMADA DE TRABALHO – FLISOL-DF 2010“.
  • Como USUÁRIO para assistir e participar das atividades, palestras e mini-cursos. Faça sua inscrição para o evento acessando a página de INSCRIÇÃO DO FLISOL-DF 2010 (Clique aqui).
  • Como PATROCINADOR (quer seja pessoa física ou empresa) ou como participante da ORGANIZAÇÃO DO EVENTO, entre em contato com a organização através do telefone: (61) 9176-6393 ou pelo e-mail: organizacao@flisoldf.blog.br

Banner do evento FLISOL 2010.

Venha participar!

Mais Informações.

Categories: Eventos Tags: , ,

[Ferramenta]IntensiveDos

Excelente ferramenta para, código aberto, publicado por Lucas Fernando Vasconcelos de Arruda Amorim

IntensiveDos é uma ferramenta de DoS para pentesting, com ela fica muito fácil saber como o seu servidor responde e cataloga ataques do gênero. É uma ferramenta muito simples e livre de qualquer protocolo específico.

O fluxo da thread é bem simples: Abre Conexão > Escreve > Fecha Conexão. Se você precisar de algo mais específico, sinta-se livre para alterar o fonte.

Se você for abrir muitas threads é recomendável baixar o stack size, faça com um comando muito simples:

$ ulimit -s 400 (quanto menor mais threads)

Código abaixo.

Ler mais…

Categories: Pentest Tags: , ,

Flisol 2010 – Vitória/ES

24/04 – Flisol 2010 – Vitória/ES

O FLISOL 2010 acontecerá no dia 24/04 no miniauditório na FAESA – Campus 1, Rua Anselmo Serrat, n.199, próximo a Av. Vitória e Av. Marechal Campus, no bairro Ilha de Santa Maria, em Vitória/ES.

Banner do evento Flisol 2010 - Vitória/ES

A grade de programação:

08:40h – 09:00h – Inscrição e recebimento dos donativos
09:00h – 09:40h – Palestra 1: Distribuições Linux [Almir Mendes]
09:40h – 10:20h – Palestra 2: Gentoo Linux [Raphaela Marques Rocha]
10:20h – 11:00h – Palestra 3: Arch Linux [Albino Biasutti Neto]
11:00h – 11:40h – Palestra 4: CentOS Linux [Rodrigo Griffo]
11:40h – 12:20h – Palestra 5: Empreendedorismo Social e Software Livre [Cristiano Vitorino]

Entrada:
1kg de alimento não-precível

Mais informações.

Categories: Eventos Tags: , ,

Introdução à plataforma GNU de desenvolvimento

27, Fevereiro, 2010 VonNaturAustreVe Nenhum comentário

A plataforma GNU de desenvolvimento é uma coleção de ferramentas de software livre para o desenvolvimento de aplicativos para as plataformas Windows, Linux, BSD, Mac OS e Unix. Ela é a mais importante ferramenta para desenvolvimento de software para Linux/Unix, é poderosa, estável e completa, mas ainda é pouco popular. Esse artigo apresenta os componentes essenciais dessa plataforma.

Por: Renato Merli

[]’s
Categories: Programação Tags: ,
SEO Powered by Platinum SEO from Techblissonline