2个问题:
第一个问题是,我需要在程序运行时输入文本文件的名称,所以我们称其为“ Banana.txt”,我键入了该文件,却遗漏了文件的最后一个单词。基本上,这就是我以前从txt文件输出的所有内容。
while(File.good()){
cout <<word << " "; //put spaces in between the words
File >> word; }
不确定如何获得最终结果。
第二个问题是如何将.txt文件中的信息存储到以后可以使用的数组中?它必须是多维的吗?文件中的最大单词数为100。最终,我将需要忽略所有<4个字符的单词。
我实际上不记得是否应该使用char或string。但是iirc char是每个单独的字符,而string是字符的集合?精氨酸 从头开始,稍稍抬头。
不允许使用hash_,向量,地图,堆栈或列表,因此我不确定如何解决此问题
在此先感谢您的帮助。我尝试浏览其他线程,但不确定是否是我正在寻找的线程...对不起,..
对于第一个,您需要先读入单词然后输出。
不过,“直观”循环while(File.good())
是有缺陷的,因为如果您位于文件末尾但尚未读取文件,则在您尝试读取下一个单词之前,该流将看起来不错。
结果,读取将失败。你可以做
while( File.good() )
{
if( File >> word )
{
// process this word
}
}
但更简单的是
while( File >> word )
{
// process the word
}
您可以使用的另一件事是istream_iterator并复制,然后您实际上可以将它们复制到序列中。但是,不允许您使用标准的C ++库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句