c - A strange behaviour of getchar() -


an odd behaviour of getchar() , scanf ocurred in code below: if insert, in line /*k1*/ ch = getchar(); code works in line /*k*/.

i mean, without calling getchar in line /*k1*/ compiler doesn't ask character keyboard. on other hand if getchar included program runs perfectly. ring me bell?

int incoord(int n, int **coo){/*retorna quantidade de dados lida em coordpontos.dat*/     file *fp;           /*arquivos de leitura e gravacao. */     char dummy[maxstr];      /*informacoes para o usuario nos arquivos de leitura.*/     int i, j;     int m;     char ch;      printf("entrada por coordenadas de pontos.\n");     printf("leitura das coordenadas com numeros inteiros.\n");     printf("arquivo de leitura: coordpontos.dat\n");      if((fp=fopen("coordpontos.dat","r"))==null){         printf("arquivo não pode ser aberto.\n"); exit(1); }      fgets(dummy,maxstr,fp); /*apresentacao arquivo*/     fgets(dummy,maxstr,fp); /*texto 1*/       fscanf(fp,"%i ",&m);     /*k1*/           ch= getchar();      if(m<n){          printf("quantidade de dados menor que o previsto para cadeia frio.\nverificar entradas\n");           printf("deseja prosseguir programa com quantidade prevista em coordpontos.dat?\n");          printf("s - sim\n"); printf("outra letra - aborta programa\n");         /*k*/            ch= getchar();          if (ch=='s' || ch =='s')n=m; /*funçao retorna quantidade de dados usada. */           else {             printf("programa abortado.\n");             exit(1); /*aborta programa */         }      }      fgets(dummy,maxstr,fp); /*texto 2*/     fscanf(fp,"%i ",&j);       fclose(fp);      printf("teste = %i, j = %i\n", m, j);      return n; } 

the second call getchar() returns '\n' character stream buffer. instead use

#include <conio.h>  char input = getche(); 

in order 1 character. of course need include error checking since getche() returns on special keys f1-f12.


Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -