我无法弄清楚如何在几个段落中阅读,而不是将每个单词放在结构中,而不是计算有多少单词。
我知道如何读取数据只是不从具有一行的字符串中传输一个单词。正如我之前所说,在几段中读到
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
struct words
{
char unique[21];
int count;
} test;
void inputFile (words essay[100]);
int search (int index, int subscript, int integer,words essay[100]);
int main()
{
words essay[100];
inputFile (&test);
cout << essay[0].unique<<test.count;
return 0;
}
void inputFile (words essay[100])
{
char fileName[81];
char copyName[81];
cout << "What is the name of the input file? \n";
cin >> fileName;
ifstream infile;
ofstream outfile;
int count = 0;
char line [81];
int ch;
infile.open(fileName);
outfile.open(copyName);
while ((ch = infile.peek()) != EOF)
{ // while not end of file
infile.getline (line[81].unique, 81);
cout << "Copying: " << line << endl;
count++;
outfile << essay << endl;
}
cout << "There were " << count << " lines copied\n";
cout << endl;
// close both files
infile.close ();
outfile.close ();
};
/*int search (int index, int subscript, int integer, struct words essay[100])
{
string key;
key = test.unique;
int n;
n = test.count;
int i;
i = 0;
while (i < n && essay[i] != key)
i++;
if (i == n)
{
i = -1;
}
return i;
};*/
答案 0 :(得分:0)
这是一个部分答案,主要侧重于清理流读取逻辑。我无法弄清楚你在做什么,有足够的清晰度来提供更多的帮助。 (例如,为什么在没有添加任何内容的情况下将essay
输出到outfile
。)
void inputFile (words essay[100])
{
std::string fileName, copyName;
cout << "What is the name of the input file?\n";
cin >> fileName;
// I assume you get copyName here…
// Though fileName and copyName really should be parameters
// passed in from `main()`.
ifstream infile(fileName);
ofstream outfile(copyName);
std::string line;
int count = 0;
while (getline(infile, line))
{
cout << "Copying: " << line << endl;
count++;
outfile << essay << endl; // No idea what you're doing here.
}
cout << "There were " << count << " lines copied\n";
};