Trying to get some basic understanding of console functionalities. I am having issues so consider the following…
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
/*
This is a template Project
*/
void MultiplicationTable(int x);
int main()
{
int value = 0;
printf("Please enter any number \n\n");
getline(cin, value);
MultiplicationTable(value);
getchar();
return 0;
}
I actually based this off code from http://www.cplusplus.com/doc/tutorial/basic_io/ . My IDE is not recognizing getline() so of course when I compile the application. I get an error
'getline': identifier not found
Now take a look at this code
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
/*
This is a template Project
*/
void MultiplicationTable(int x);
int main()
{
int value = 0;
printf("Please enter any number \n\n");
cin>>value;
MultiplicationTable(value);
getchar();
return 0;
}
When I execute this line of code the console window opens and immediately closes. I think I a missing something about cin. I do know that it delimits spaces but I don’t know what else. what should I use for input to make my life easier.
The function
getline()is declared in the string header. So, you have to add#include <string>.It is defined as
istream& getline ( istream& is, string& str );, but you call it with anintinstead of a string object.About your second question:
There is probably still a
'\n'character from your input in the stream, when your program reaches the functiongetchar()(which I assume you put there so your window doesn’t close). You have to flush your stream. An easy fix is, instead ofgetchar(), add the lineThis will flush your stream until the next line-break.
Remark:
conio.his not part of the c++ standard and obsolete.