[英]Function to Return output from text file
我是一個完整的C ++新手(我所知道的就是Python),並且我試圖弄清楚自己在做什么錯。 本教程向我展示了如何輸出文本文件( http://www.cplusplus.com/doc/tutorial/files/ )
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( myfile.good() )
{
getline (myfile,line);
cout << line << endl;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
然后當我嘗試應用時,它給我一個細分錯誤
// basic file operations
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string WriteTXT( string DATA , string F_NAME)
{
ofstream myfile;
myfile.open (F_NAME.c_str());
myfile << DATA;
myfile.close();
}
string ReadTXT( string F_NAME )
{
string line;
ifstream myfile (F_NAME.c_str());
if (myfile.is_open())
{
while ( myfile.good() )
{
getline (myfile,line);
cout << line << endl;
}
myfile.close();
}
else cout << "Unable to open file";
}
int main () {
WriteTXT("12345","example.txt");
ReadTXT("example.txt");
return 0;
}
到底怎么回事?
您需要具備:
// returns void
void WriteTXT( string DATA , string F_NAME)
// ...
// returns void
void ReadTXT( string F_NAME )
因為您沒有從這些函數返回任何內容。 如果使用-Wall
和-Werror
編譯,則可以避免此類常見問題。
使函數的return
類型void
則它將起作用。
使返回類型無效
void WriteTXT( string DATA , string F_NAME)
void ReadTXT( string F_NAME )
然后它將按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.