从文件C++中读取一个单词的类
Classes reading one word from file C++
这是我的程序,它应该从文件Team.txt
中逐字逐句地获取文本,但它说无法打开该文件。我试着将目录直接显示到文件中,仍然是相同的答案。我想我得到了一些东西:
class Team
{
public:
string name;
string dificulty;
string section;
};
void GetTeamInfo(class Team);
int main()
{
Team ko;
GetTeamInfo(ko);
cout << ko.name;
cout << ko.dificulty;
cout << ko.section;
system("PAUSE");
}
void GetTeamInfo(Team)
{
std::ifstream fd;
fd.open("Team.txt");
Team ko;
if (fd.is_open())
{
fd >> ko.name;
fd >> ko.dificulty;
fd >> ko.section;
}
else
{
std::cout << "Mistake can't open file 'Team.txt'n";
}
}
它不起作用,因为您的参数处理完全错误。
申报
void GetTeamInfo(Team)
告诉编译器GetTeamInfo
是一个接受Team
类型参数的函数,但您没有给它一个名称,因此您不能在函数中的任何位置使用该参数。
如果你想使用传递的参数,你应该给它一个名字:
void GetTeamInfo(Team ko)
这样就不必在函数中声明变量ko
。
然而,这无论如何都不起作用,因为默认情况下,参数通过值传递给,这意味着参数是来自调用方的值的副本。更改副本当然不会更改原始副本。所以你应该做的是通过引用传递参数:
void GetTeamInfo(Team& ko)
所有这些都是非常基本的C++知识,任何一本好书或教程都应该很早就学会。
至于程序无法打开你的文件的问题,有多种可能的原因造成这个问题:
您的IDE(集成开发环境)有一个程序的当前目录,而该文件不在该目录中。这可以通过项目设置进行更改。
文件实际上并不是你想的地方。
该文件根本不存在。
在Linux和Mac OSX等系统上,文件名区分大小写,实际文件的名称中没有大写的
'T'
。
相关文章:
- 为什么这个程序返回最后一个单词而不是最长的单词?
- 如何检查流中文件的下一个单词是否为 alpha?
- 给定一个单词数组和一个字符串,如何计算给定字符串中的所有单词
- 计算一个单词在映射中出现的次数 - 使用 transform() - 调用不匹配
- 如何将一个单词拆分成字母,并将它们放入一个无序的列表/集合中
- 将字符串中的单个单词替换为另一个单词
- 如何插入一个单词并将字母放在2D数组中的不同索引中
- C++ ifstream 只读一个单词的数量
- 我如何计算一个单词在数组中重复的次数
- 如何将 c 字符串转换为指针数组,其中每个指针都是 char 数组中的一个单词
- 将 C++ 类属性与分号前面的最后一个单词对齐;在 emacs 中
- 我试图编写一个代码来查找一个单词是否是回文,但它不起作用。怎么了?
- 我如何在一串随机生成的字母I C 中查找一个单词
- 在字符串中找到最后一个单词
- C++ 输出在读取文本文件时跳过最后一个单词
- 我如何将句子分成一个单词
- 在向量中通过一个单词查找行
- 'Try This'矢量在示例词典中哔哔一个单词。编程原理与实践
- 我怎样才能从字符串中得到一个单词
- 如何将文本(诗歌)拆分为行(字符串/字符[])并查找每个行的最后一个单词