| | |
I'm somehow messing up opening a file and making a c-style filename
Please support our C++ advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Aug 2008
Posts: 2
Reputation:
Solved Threads: 0
The following code is part of a program to document the book in my house, like those things they have at public libraries. I learned about minupulating files in programs last night and have many errors in this program.
First, the c-style string for filename comes out as - filename.txt" instead of without the quote
And even if you try running my program with a default filename like newbook it turns out to fail.
First, the c-style string for filename comes out as - filename.txt" instead of without the quote
And even if you try running my program with a default filename like newbook it turns out to fail.
Book::Book(string Title,string AuthorLastName,string AuthorFirstName,string PublishingCompany,int SeriesNumber,int NumPages,int CopyrightYear,string Series):
m_Title(Title),
m_Series(Series),
m_AuthorFirstName(AuthorFirstName),
m_AuthorLastName(AuthorLastName),
m_PublishingCompany(PublishingCompany),
m_SeriesNumber(SeriesNumber),
m_NumPages(NumPages),
m_CopyrightYear(CopyrightYear)
{
fstream filehandle;
string filename=m_Title+".txt";
char m_filename[80];
for(int i=0;i<filename.size();++i)
{
m_filename[i]=filename[i];
}
cout<<m_filename;
filehandle.open(m_filename);
if (!filehandle || !filehandle.good())
{
std::cout << "could not open file!\n";
}
filehandle << "out" << std::endl;
if (filehandle.fail())
{
std::cout << "failed to append to file!\n";
}
filehandle<<m_Title<<"\n";
filehandle<<m_AuthorFirstName<<" "<<m_AuthorLastName<<"\n";
filehandle<<"Published by "<<m_PublishingCompany<<" in "<<m_CopyrightYear<<"\n";
filehandle<<"No. "<<m_SeriesNumber<<" in the "<<m_Series<<" series\n";
filehandle<<m_NumPages<<" pages\n";
}•
•
Join Date: Mar 2008
Posts: 42
Reputation:
Solved Threads: 6
Please see my comments below
•
•
•
•
Book::Book(string Title,string AuthorLastName,string AuthorFirstName,string PublishingCompany,int SeriesNumber,int NumPages,int CopyrightYear,string Series): m_Title(Title), m_Series(Series), m_AuthorFirstName(AuthorFirstName), m_AuthorLastName(AuthorLastName), m_PublishingCompany(PublishingCompany), m_SeriesNumber(SeriesNumber), m_NumPages(NumPages), m_CopyrightYear(CopyrightYear) { fstream filehandle; string filename=m_Title+".txt"; char m_filename[80]; for(int i=0;i<filename.size();++i) { m_filename[i]=filename[i]; } //the c-style string should end with a '\0', //so add line m_filename[i] = '\0'; //define i out of the for statement cout<<m_filename; filehandle.open(m_filename); // the simplest way is to use filehandle.open(filename.c_str()); }
![]() |
Other Threads in the C++ Forum
- Previous Thread: Smart Pointers assignment
- Next Thread: Easter sunday problem
Views: 335 | Replies: 2
| Thread Tools | Search this Thread |
Tag cloud for C++
6 api application array arrays based beginner binary c++ c/c++ calculator char char* class classes code coding compile compiler console conversion convert count data database delete developer display dll dynamiccharacterarray email encryption error file format forms fstream function functions game generator givemetehcodez graph iamthwee ifstream image input int java lib list loop looping loops map math matrix memory multiple newbie news number numbertoword output pointer problem program programming project python random read recursion recursive reference return rpg search simple sort sorting spoonfeeding string strings struct template templates text tree url variable vector video visual visualstudio win32 windows winsock wordfrequency wxwidgets





