gpt4 book ai didi

c++ - 在 C++ 中按字符读取输入文件时的换行符

转载 作者:太空狗 更新时间:2023-10-29 23:06:32 27 4
gpt4 key购买 nike

好的,提前说明一下,这是家庭作业,但下周才交,而且我不完全确定作业的最终细节。长话短说,不知道他会在类里面介绍什么概念,我决定尝试一下作业,但我遇到了一个问题。我需要做的部分作业是从输入文件中读取单个字符,然后根据字符在其包含词中的位置,在屏幕上重复该字符。我遇到的问题是,文本文件中的单词是单个单词,每个单词在文件中的不同行上。因为我不确定我们是否会使用 <string>对于这个作业,我想知道是否有任何方法可以在不使用 <string> 的情况下识别行尾.

现在,我正在使用一个简单的 ifstream fin;把焦炭拉出来。我只是不知道如何让它识别一个词的结尾和另一个词的开头。为了包含代码,以下是我目前所获得的全部内容。我希望它会显示某种 endl字符,但它只是打印出所有单词一起运行的样式。

ifstream fin;
char charIn;

fin.open("Animals.dat");
fin >> charIn;
while(!fin.eof()){
cout << charIn;
fin >> charIn;
}

一些我最初忘记包括的东西:

我必须在输入每个字符时对其进行处理(在我读取下一个字符并增加计数器之前,需要运行打印它的循环)。此外,'Animals.dat' 中单词的长度各不相同,这使我无法设置迭代次数。我们也没有涉及 fin.get() 或 .getline(),所以这些也不在限制范围之内。

老实说,我无法想象这是不可能的,但考虑到限制,如果是这样,我也不会太难过。我主要认为这是一个有趣的问题,可以搁置一会儿。

最佳答案

为什么不使用字符数组?您可以尝试如下:

    #define MAX_WORD_NUM 20
#define MAX_STR_LEN 40 //I think 40 is big enough to hold one word.
char words[MAX_WROD_NUM][MAX_STR_LEN];

然后就可以输入单词了。

    cin >> words[i];

关于c++ - 在 C++ 中按字符读取输入文件时的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375899/

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