Inverte string usando NCURSES

Publicado por Ygor Thomaz 29/03/2004

[ Hits: 9.234 ]

Homepage: http://www.ygorthomaz.net/

Download inverte.c




Pequeno programa utilizando a biblioteca ncurses com uma função que inverte cadeias de caracteres.

Inverte um frase de trás para frente.

  



Esconder código-fonte

#include<stdio.h>
#include<ncurses.h>

void inverte (char frase[]);

int main () {
  char s[100];

  initscr(); /* Inicializa a ncurses */
  clear();
  printw("Digite uma frase:\n");
  getstr(s); /* Função semelhante a gets() do conio.h da Borland C */
  inverte(s);
  refresh();
  getch();
  endwin(); /* Desativa a ncurses */
}

void inverte (char frase[]) {
  int i=0, j=0;
  char aux;

  while(frase[i]!='{FONTE}')
    i++;
  i--;
  while(j<i) {
    aux=frase[j];
    frase[j]=frase[i];
    frase[i]=aux;
    j++;
    i--;
  }
  printf("%s\n",frase);
}

Scripts recomendados

Ponteiros

Teste de desempenho com números primos em C (corrigido)

Divisores de um inteiro positivo em C++

Decomposição em fatores primos

Um joguinho em C


  

Comentários
[1] Comentário enviado por jllucca em 30/03/2004 - 19:55h

Bom, o script não cheguei a testar mas parece bem interressante. Só não gostei da comparação com gets() e pelo que andei pesquisando gets() é definida em ANSI C e não é da Borland como você falou. Mas, gets() é uma função extremamente radical e até seu uso no compilador é feito com Warning(mesmo com eles desabilitados, a função gera um Warning hehehe) avisando que gets é uma coisa "ultrapassada" e que deve ser usado com cuidado. Pesquisando um pouco mais achei que a getstr() da ncurses é comparada a getch().

[]'s

[2] Comentário enviado por ygorth em 31/03/2004 - 10:01h

Comando para compilar: gcc meuprograma.c -o meuprograma -lncurses

jllucca, tente compilar usando gets acho que nao eh ANSI nao. E a fonte onde estava lendo disse que o conio.h era da borland. Enfim de qualquer forma obrigado pela comentario. Vou dar uma olhada nas cosias que vc falou (:

[3] Comentário enviado por jhuka em 10/05/2006 - 22:27h

segue um codigo que eu fiz, com a funçao semelhante, codigo bem mais limpo, coisa pra iniciante mesmo, usando apenas stdio.
#include <stdio.h>

int main ()

{
char str[100];
int i;

printf("Digite seu nome:\n");
fgets(str,99,stdin);

for (i=0;str[i]!='{COMENTARIO}';i=i+1);
i=i-1;

for (i;i>=0;i=i-1)

printf("%c",str[i]);
printf("\n");

return (0);
}


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts