gpt4 book ai didi

C++ - 将文件处理程序传递给打开函数时出错

转载 作者:行者123 更新时间:2023-11-30 01:18:02 24 4
gpt4 key购买 nike

我有几个错误我不明白,甚至不知道如何在互联网上搜索它。我试过“在 C++ 函数中打开文件”以及确切的错误 0,但在前几页中没有得到太多帮助。这让我头疼了一段时间,连我的导师也帮不上什么忙。尽管这就是他希望以某种方式完成的方式。是的,这是为了家庭作业。

错误:

\driver.cpp: In function void openFile(std::ifstream&, std::ofstream&)':
\driver.cpp:63: error: no matching function for call to
std::basic_ifstream >::open(std::string&)' ../include/c++/3.4.2/fstream:570: note: candidates are: void std::basic_ifstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits] J:\Class_Files_2013_Fall\Advanced C++\Week1\Lab_2(Letter_Counter)\driver.cpp:68: error: no matching function for call to `std::basic_ofstream >::open(std::string&)' ../include/c++/3.4.2/fstream:695: note: candidates are: void std::basic_ofstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits]

所以总的来说,我有:

    ifstream inFile;                    
//defines the file pointer for the text document
ofstream outFile;
//the file pointer for the output file

openFile(inFile, outFile);
//allow the user to specify a file for reading and outputting the stats

然后是函数:

void openFile(ifstream& inF, ofstream& outF){
// Ask the user what file to READ from
string readFile, writeFile;
cout << "Enter the name of the file you want to READ from: ";
cin >> readFile;
cout << endl;
// Open the File
inF.open(readFile);
// Ask the user what file to WRITE to
cout << "Enter the name of the file you want to WRITE to: ";
cin >> writeFile;
cout << endl;
outF.open(writeFile);
}

我还实现了:

#include <fstream>

和:

using namespace std;

主要的东西是导师放在那里的,所以我不能改变那些。换句话说,我必须将文件指针传递给 openFile 函数并向用户询问文件名。然而,我从来没有被教导如何做到这一点。一个基本的答案将不胜感激,离开我已经在做的事情。

最佳答案

只有 C++11 支持用 std::strings 打开 fstreams。

要么使用 C++11 兼容性编译您的应用程序(取决于编译器,对于 clang 和 gcc,它是 -std=c++11),或者将您的调用更改为 inF。打开(readFile.c_str());

关于C++ - 将文件处理程序传递给打开函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com