Actually, I haven't though about using an array of strings. Thanks for bringing that up. Your proposition isn't exactly what I'm looking for as it still prints out to the stdout (cout) in Python. I want whatever's read to be fed into a char array. But your response led me to the answer I was looking for, so pat yourself on the back :D.
Lo and behold, this is what I was looking for:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#include <iostream>
#include <fstream>
#include "TextFile.h"
TextFile *OpenFile (const char *name)
{
std::string line;
TextFile *file = new TextFile();
std::ifstream text (name);
if (text.is_open())
{
while (text.good())
{
getline(text,line);
file->content.append(line);
file->content.push_back('\n');
}
text.close();
}
else
{
std::cout << "Unable to open file" << std::endl << std::endl;
}
return file;
}
|
One thing to note before I quickly say what the above function does is that I
replaced the
char content[500]
in the TextFile class above (in my first post) with
std::string content
. This lead to things being much easier!
Anway, the OpenFile function takes an outside text file, parses it
line by line, and puts it into the content variable of a TextFile object (but you can reformat the code to fit any object you're dealing with)...So in short, this function transforms an external text file into a Python object with its contents stored within it <3. Hooray!
Thanks for the epiphany lk2019 :D!
(SIDE NOTE: For all you file streamers out there using Python, std::string is the way to go for anything that is PURE text. Forget about using char[] or char * --- std::string was built for that stuff :] )