ifstream

C++ Opening a file and inputting data to a class object

Simple question, hopefully an easy way and just want to verify I'm doing it the correct / efficient way. I have a class T object, which is typically put into a vector that is created in my main() function. It can be any kind of data, string, int, float.. etc. I'm reading from a file... which is inputted from the user and passed onto t...

How can I discover/control the level of internal buffering in a C++ fstream?

Say I do this (a contrived example): #include <iostream> #include <fstream> using namespace std; int main(int argc, char* argv[]) { ifstream ifs(argv[1]); char ch; while(ifs.read(&ch, 1)) { cout << ch; } } I assume(hope) that the iostream library does some internal buffering here and doesn't turn this into g...

How can I break the reading this text file (using ifstream)? C++

Hi, I wanna stop the reading of my text input file when the word "synonyms" appears. I'm using ifstream and I don't know how to break the loop. I tried using a stringstream "synonyms" but it ended up junking my bst. I included the complete project files below in case you wanna avoid typing. Important part: for(;;) /*here, I wanna b...

(C++) While reading a file (ifstream), is there any way to direct it to make a new line?

While reading a file (ifstream), is there any way to direct it to make a new line? For instance, I would like for THIS to happen: myfile>>array[1]>>array[2]>>endl; Obviously, the "endl" just isn't allowed. Is there another way to do this? Edit---thanks for the quick responses guys! From a text file, I'm trying to store two strings...

C++ ifstream failure, why is this line not going where it's supposed to?

I want to make the line marked with // THIS LINE SHOULD BE PRINTING do its thing, which is print the int values between "synonyms" and "antonyms". This is the text file: dictionary.txt 1 cute 2 hello 3 ugly 4 easy 5 difficult 6 tired 7 beautiful synonyms 1 7 7 1 antonyms 1 3 3 1 7 4 5 5 4 7 3 #include <iostream> #include <fstrea...

Getting this junk out of my vector

I want to eliminate the junk that I'm getting on the vector<int> synsAux below. It should print: 1 7 7 1 I'm getting an extra 2 before the first and third digit, why? Is this 2 an ascii value for the blank space or something? How do I avoid its reading? This is the dictionary file needed to run the program: dictionary.txt 1 cute 2 ...

Is std::ifstream significantly slower than FILE?

I've been informed that my library is slower than it should be, on the order of 30+ times too slow parsing a particular file (text file, size 326 kb). The user suggested that it may be that I'm using std::ifstream (presumably instead of FILE). I'd rather not blindly rewrite, so I thought I'd check here first, since my guess would be the...

ifstream, end of line and move to next line?

how do i detect and move to the next line using std::ifstream? void readData(ifstream& in) { string sz; getline(in, sz); cout << sz <<endl; int v; for(int i=0; in.good(); i++) { in >> v; if (in.good()) cout << v << " "; } in.seekg(0, ios::beg); sz.clear(); getline(in, sz); cout...

c++ ifstream, detect if letter or EOLine?

I have this function to read in all ints from the file. The problem is when i read letters i trigger a new line and i always seek by 1 and not to the end of line. How can i write this function better? int v; while (!in.eof()) { while (in >> v) cout << v << " "; cout << endl; if (in.eof()) break; ...

Reading a Matrix txt file and storing as an array

Greetings everyone, new to the forums :) I'm currently writing a Simulated Annealing code to solve a traveling salesman problem and have run into difficulties with storing and using my read data from a txt file. Each row & column in the file represents each city, with the distance between two different cities stored as a 15 x 15 matrix:...

C++ reading unsigned char from file stream

I want to read unsigned bytes from a binary file. So I wrote the following code. #include <iostream> #include <fstream> #include <vector> #include <istream> std::string filename("file"); size_t bytesAvailable = 128; size_t toRead = 128; std::basic_ifstream<unsigned char> inf(filename.c_str(), std::ios_base::in | std::ios_base::binary)...

Do I need to manually close a ifstream?

Do I need to manually call close() when I use a std::ifstream? For example in the code: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); file.close(); return buffer.str(); } throw std::runt...

ifstream Open function not working

I've been all over the ifstream questions here on SO and I'm still having trouble reading a simple text file. I'm working with Visual Studio 2008. Here's my code: // CPPFileIO.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <fstream> #include <conio.h> #include <iostream> #include <string> ...

Open file by its full path in C++

Hello, I want the user to give me the full path where the file exists and not just the file name. How do I open the file this way? Is it something like this: ifstream file; file.open("C:/Demo.txt", ios::in); Because it doesnt seem to work..I think.. Thanks in advance, Greg ...

C++ How to read in objects with a given offset?

Now I have a file with many data in it. And I know the data I need begins at position (long)x and has a given size sizeof(y) How can I get this data? ...

Windows std::ifstream::open() problem

I know there's been a handful of questions regarding std::ifstream::open(), but the answers didn't solve my problem. Most of them were specific to Win32, and I'm using SDL, not touching any OS-specific functionality (...that's not wrapped up into SDL). The problem is: std::ifstream::open() doesn't seem to work anymore since I've switche...

ifstream seekg beyond end does not return eof in VS 2008 Express?

In VS 2005, I have some code that looks like this: ifs.open("foo"); while (!ifs.eof()) { ifs.read(&bar,sizeof(bar)); loc = ifs.tellg(); loc += bar.dwHeaderSize; // four byte boundary padding if ((loc % 4) != 0) loc += 4 - (loc % 4); ifs.seekg(loc,ios::beg); } ifs.close(); The code worked fine in VS 2005...

ifstream.read() vs. ifstream.readsome() in MSVC++7.1

Hi, I just took some older code of a file reader that had been developed under Linux and tried to use that very same code in my Windows project compiled with MSVC++7.1. The code compiled without any problems, but the file seemed to be empty according to the file reader on Windows. I tracked the problem down to ifstream.readsome() that ...

Put A String In A ifstream Method

Hello, I'm learning C++ and i'm getting some troubles when i'm trying to use a String in a ifstream method, like this: string filename; cout << "Enter the name of the file: "; cin >> filename; ifstream file ( filename ); Here is the full code: // obtaining file size #include <iostream> #include <fstream> using namespace std; int...

problem opening file c++

Must be a simple answer but I am at a loss, here is the code that is returning an error. I have tried with and without the starting slash. I won't know the full path, I want it to be relative from the exe, and that is the relative path. I tried escaping the slashes. My problem is that i get "error opening file" when the file is there. ...