Oakenshield Posted January 9, 2012 Report Share Posted January 9, 2012 Olá amigos,estava fazendo um aplicativo e percebi uma coisa estranha. Localizei o erro e vou colocar um sample:#include <iostream> using namespace std; #include <cstring> int _tmain(int argc, _TCHAR* argv[]) { int n; char name[20]; cout << "Enter n: "; cin >> n; cout << "Enter name: "; cin.getline(name, 19); system("PAUSE"); return 0; } Não sei o motivo, mas esse codigo não funciona, pois o cin.getline não dá sinal. Mas a seguinte versão funciona (uma simples inversão da ordem): #include <iostream> using namespace std; #include <cstring> int _tmain(int argc, _TCHAR* argv[]) { int n; char name[20]; cout << "Enter name: "; cin.getline(name, 19); cout << "Enter n: "; cin >> n; system("PAUSE"); return 0; } Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted January 10, 2012 Report Share Posted January 10, 2012 Neste tópico, tivemos acho que o mesmo problema, só que com o scanf(), talvez seja a mesma coisa: http://scriptbrasil.com.br/forum/index.php?showtopic=149279Tente o fflush(stdin); entre cada cin, como recomendado no último post. Quote Link to comment Share on other sites More sharing options...
0 Ruyfreis Posted January 19, 2012 Report Share Posted January 19, 2012 (edited) Neste tópico, tivemos acho que o mesmo problema, só que com o scanf(), talvez seja a mesma coisa: http://scriptbrasil.com.br/forum/index.php?showtopic=149279Tente o fflush(stdin); entre cada cin, como recomendado no último post.Para Windows o fflush(stdin) funciona bem, se e o amigo estiver utilizando Linux é melhor ele utilizar a __fpurge(stdin).PS: Para utilizar o __fpurge() voce deve incluir a biblioteca <stdio_ext.h>Tem um site que eu utilizo muito como referencia para tirar duvidas de funções, além dele ter o detalhamento e exemplos de praticamente todas as funções de C++ é o http://www.cplusplus.com/Espero ter ajudado Edited January 19, 2012 by Ruyfreis Quote Link to comment Share on other sites More sharing options...
Question
Oakenshield
Olá amigos,
estava fazendo um aplicativo e percebi uma coisa estranha. Localizei o erro e vou colocar um sample:
Não sei o motivo, mas esse codigo não funciona, pois o cin.getline não dá sinal. Mas a seguinte versão funciona (uma simples inversão da ordem):Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.