C++ :: How To Check For EOF Without Getline
Mar 16, 2014
I'm currently trying to write a while loop that checks if the text file has read all the contents inside. I've tried using
while(!in.eof())
but as usual it executes my loop an extra iteration, printing my last output twice. I am reading my data in from a method inside a class, so I cannot use getline as my while test to check if the file has read input or not. Is there any way to force my loop to check if the end of file has been read before the eof() test is executed?
View 9 Replies
ADVERTISEMENT
Nov 14, 2013
I've just started learning from "Jumping into C++". Great book. Unfortunately, I've also encountered my first snag. Practice problem number 3 from chapter 4 tells me to make a small calculator that takes one of the four arithmetic operations and its two arguments as input and give the result as output. Here's what my newbie mind came up with:
Code:
#include <iostream>
#include <string>
using namespace std;
int main()
[Code] .....
The thing that I don't get is why doesn't the function "getline" work. It's worked in previous programs. The program seems to work if I simply replace getline with a simple "cin". I could easily use that as a cheap fix but I am interested in knowing why "getline" refuses to work anymore....
View 3 Replies
View Related
Mar 13, 2015
I am just trying to get a code going for a mock test and to get use to the getline and IF operations, but it seems I have ran into an issue[URL] is a link to the code I have written, and I can use getline to give a value to my variable, but it seems like it gets lost once I try to use the IF function. Am I not using the right variable type?
View 14 Replies
View Related
Dec 10, 2013
I'm using getline to read in from a file line by line but it skips the first two whitespaces.
Example input:
1 0.7 mountain and grant
How it's being stored:
10.7mountain and grant
View 14 Replies
View Related
Feb 26, 2013
I have just started working through "Jumping into C++". I am at the section on appending strings. The tutorial mentions the getline function but I can not seem to get it to activate. There is no mention of any other inclusions.
Code:
#include <iostream>
#include <string>
using namespace std;
[Code] ....
I note that the getline function color remains black while other functions are green. I presume this means that Codeblocks has not associated it with any of the listed header files. Has the tutorial omitted this detail?
View 4 Replies
View Related
May 15, 2013
How the getline function works.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
[Code] ......
getline(&inputstr, 128, NULL); getline gets a line in a data file.
I assume that inputstr[128] is the name of the file? why is the number of the array in the getline function....
View 7 Replies
View Related
Apr 25, 2014
why does this happen that if i use
string ans;
for(int i=1; i<3; i++)
{
cout << "enter an option" << endl;
getline(cin,ans)
}
in a loop it always skips the first time but in the next times it asks?
View 3 Replies
View Related
Aug 1, 2014
I am trying to use getline as the conditional for a while loop as seen below.
string filename, guard_name;
int call_number;
vector <Seniority> SeniorityList;
ifstream SeniorityFile;
[Code] ....
However, when I compile the code, I get the following error message on the line with the while loop.
error C2780: 'std::basic_istream<_Elem,_Traits>
&std::getline(std::basic_istream<_Elem,_Traits>
&,std::basic_string<_Elem,_Traits,_Alloc>
&)' : expects 2 arguments - 3 provided
The program will be reading in a .csv file, so I need my program to be able to deal with values separated by commas. Is there a reason why it will not accept that conditional statement?
View 3 Replies
View Related
Aug 21, 2014
text file is
hello
there
void readFile(char[], ifstream&);
address records[numbersAdd];
int main(){
char xml[30];
cout<<"Enter file name ";
[code].....
View 6 Replies
View Related
Feb 16, 2014
I used getline to import EMPLOYEE's First and Last Name from a txt file. After calculating the weights ans stuff. Now when i try to write to output txt file am having the below issue in which its not putting it in one line.
***CODE***
fout << "Note: This report for " << employee << " was prepared according to the fair practice of the University." << endl ;
***THIS IS WHAT ITS PRINTING***
Note: This report for FIRSTNAME LASTNAME was prepared according to the fair practice of the University.
I also tried like this;
***CODE***
fout << "Note: This report for " << getline(fin, employee) <<" was prepared according to the fair practice of the University." << endl ;
***THIS IS WHAT ITS PRINTING***
Note: This report for 0 was prepared according to the fair practice of the University.
this second code puts everything in one line but its showing 0 (zero) instead of the employee's first and last name.
View 4 Replies
View Related
Mar 30, 2014
i got a file (teams.csv) which has the following content:
id,name
501,Abilene Chr
502,Air Force
503,Akron
504,Alabama
Now i want to read line by line using getline(). How will i do that?
View 2 Replies
View Related
Sep 17, 2014
I have a problem with the switch statement because it doesn't prompt me to input something.
#include <iostream>
#include <fstream>
#include<cstring>
using namespace std;
//Compiler: Dev C++ and cygwin
void rd() {
string txt;
[Code] ....
I want to get rid of this kind of output ...
View 5 Replies
View Related
Dec 5, 2014
I am currently having trouble to have getline to read line from the file. Error is: "no instance of overloaded function "getline" matches the argument list"
code is as follows:
std::ifstream config("config.txt");
string process[4];
int linecount = 1;
if (config.is_open)
{
while (config.peek() !=EOF)
{
getline(config, process);
linecount++;
}
}
View 5 Replies
View Related
Jun 6, 2014
Down on line 74, it does not wait cor an input, it simply says ...you failed.
#include <iostream>
#include <string>
#include <Windows.h>
#include <cstdlib>
using namespace std;
//prototyping--
void flater();
[Code] ....
View 6 Replies
View Related
Sep 11, 2014
I am reading a file of text. I want to read in every word, but no spaces or newlines. "word" is a string, and "c" is a char (used for getting rid of white space. The problem: I can get rid off spaces perfectly, but newlines remain in "word" if it comes before the terminating character ' '.
My code:
while(infile.good() && !infile.eof()) {
while(infile.peek() == ' ')
infile >> c;
while(infile.peek() == '
[Code] .....
View 3 Replies
View Related
Jul 1, 2013
I have a std::stringstream sstr I read data from with getline(sstr, s, ',').
Now I don't want it to cut off the leading blanks. How can I do that?
View 2 Replies
View Related
Nov 23, 2014
I'm trying to make a program where it reads a text file which contains "blocks" of questions like:
Type: multiple_choice
Question
Num_options: number of options
a) option1
b) option2
c) option3
d) option4
Letter of answer
and
Type: short_answer
Question
Answer text
what I'm trying to do is use parse those blocks and have it get handled by the classes, MultipleChoice and ShortAnswer.
I'm planning on using getline as a virtual function and have an if statement like
"if (string == "multiple choice)
** then get it handled by the MultipleChoice class "
View 10 Replies
View Related
Feb 4, 2014
How do I use a string in place of a character in the function getline?
For example,
getline(infile,lines,'}');
This works fine, but I want the delimiter of } to be "};", but I can't do this as it only takes in characters, not strings.
I want:
getline(infile,lines,"};");
Any way to get around this?
View 1 Replies
View Related
May 28, 2013
I came across a strange problem while writing a program using the getline function. I understand that when using the getline function an input string will terminate when the "enter" key is pressed and in the following program it works as one would suspect.
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "Enter: ";
getline(cin, str);
cout << str;
}
However when I use it in this next program (below) that I have been working on it will only terminate after pressing the "enter" key if the first character is a number, otherwise it will not terminate. So the question is: How do I get it to terminate the string regardless of the input order?
#include <iostream>
#include <string>
using namespace std;
int i = 0, j;
int numValue;
[code]....
Additional Info: the purpose of this program is to change a character, which is extracted from a string, into an equivalent numerical value, if the character is an integer, and assign it to an int variable. I plan on eventually adapting it to return the correct value of a multi-character integer such as 123.
View 2 Replies
View Related
Dec 16, 2014
This is the code i am working on: [URL] .... I had designed a cross platform grep and am revising it to making it more well for lack of a better word understandable, and clear.
The line
while(getline(file, currentLine))
Worked before but now it doesn't.
View 1 Replies
View Related
Apr 15, 2014
I wrote this program:
#include <iostream>
#include <ctime>
#include <ctype.h>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
[Code] ....
LETTER OR '.' ? s
LETTER OR '.' ? f
LETTER OR '.' ? b
LETTER OR '.' ? e
LETTER OR '.' ? a
LETTER OR '.' ? g
LETTER OR '.' ? .
VECTOR : [ SFBEAG ]
SENTENCE ?
But after this i can't write anything. Do you know why? I've never had problems with getline... when i used cin >> it read but only one word. Now it doesn't even let read...
View 1 Replies
View Related
Mar 7, 2015
I'm writing a simple text adventure style program in order to practice C++. I originally used char to get whether the user wanted to go north, south etc, requiring they enter W, A, S, or D, and then I used a switch statement, rather than a bunch of else if blocks to move in the appropriate direction. Last night I started updating the code and wanted to require the user type an actual string like "go north" to move, so I'm in the process of converting it over to getline();.
The way it works is the user will input "go north", and if the string is equal to "go north" it will set a variable to 1, 2, 3, or 4, so I can keep the switch statement. The program compiles but whenever it asks for user input, it always hangs waiting for 2 separate lines of input regardless of whether or not you put a space between your command. The move function is as follows:
void movement() {
bool loop = true;
int roomNorth = 0;
int roomWest = 0;
int roomSouth = 0;
int roomEast = 0;
int dirOption;
string dir = "";
[code]....
I read that it could be an issue with getline and the new line characters, which is why I added the cin.ignore in there...so yea the code will wait for 2 separate lines of input and then always outputs "Invalid direction!" regardless of the input.
View 3 Replies
View Related
Sep 15, 2014
I've been stuck on this for hours, and have scoured the internet for any insight on this particular issue with no luck.
I'll simplify the problem here. I have a lines in an input file:
John Smith 1234 Main St New York
Carol Thomas 5678 5th Ave Columbus
...
and I am reading into character arrays using code like this:
infile.getline(name,20);
infile.getline(street,15);
infile.getline(city,10);
but when I print the output using something like this:
outfile << "Owner Name: " << name << endl;
outfile << "Address: " << street << city << endl;
(let's pretend I included spaces between the address components, which I omitted to save space)
I get an output file of:
Owner Name: John Smith
Address:
The output stops after the name variable, which I believe is stored correctly. I don't think anything is storing in the address pieces, this is the problem.
I think it's because I'm not using getline() properly in this case. Can you string together multiple getline()s like that?
If this was my design, I'd read in strings instead, but that is not possible in this case.
View 6 Replies
View Related
Apr 22, 2013
I want to use getline to read stuff from a file that looks like:
Student ID:88152; Grades: 83.67, 92.45, 74.43, 97.95, 76.45; Name:Abercrombie, Neil
Student ID:92485; Grades: 77.65, 92.31, 60.47, 67.12, 99.64; Name:Aderholt, Robert
Student ID:10623; Grades: 37.95, 83.11, 64.46, 74.76, 95.30; Name:Alexander, Rodney
Student ID:76793; Grades: 53.13, 81.02, 83.71, 90.75, 88.92; Name:Baca, Joe
I have to print to the screen the id numbers, the grades and the names
I'm using getline but im having trouble print out the grades
It gets and displays everything except the grades. One of the grades only gets displayed
It should be a while loop, but im just working with the first line for now
ifstream inf;
char fileName[ MAX_STR_LEN ] = "ex.txt";
char testStr[ MAX_STR_LEN ];
int testInt;
double testDouble;
[Code] ....
View 3 Replies
View Related
Aug 10, 2014
Taken from Accelerated C++ book, I modified those code to use getline() instead of std::cin >> only to find out that the output has extra line. Why is that so?
#include <iostream>
#include <string>
int main() {
std::cout << "What is your name?" << std::endl;
std::string name;
[Code] .....
What is your name?
Naruto
*****************
* *
* Hello, Naruto
*
* *
*****************
Notice one asterisk after the greeting where it should be in the same line as the greeting.
View 4 Replies
View Related
Apr 19, 2013
I am trying to create a program that reads data about different songs in from a file and displays the total length of all the songs and the average rating of all of them. Here is an example of the data that I would be reading in:
Just Give Me A Reason|P!nk Featuring Nate Ruess|4:22|4.0
When I Was Your Man|Bruno Mars|3:33|3.5
Thrift Shop|Macklemore & Ryan Lewis Featuring Wanz|3:55|4.5
I think my program is close to being done but for some reason it is not returning the correct length and average rating of all of the songs.
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
using namespace std;
// Structure declaration
struct Song {
[code]....
View 1 Replies
View Related