此分配称为并发问题。我程序的重点是从文件中读取句子,并忽略所有标点符号。然后,我将读取用户输入,其中用户将输入仅由空格分隔的单词,并且我必须在文件的所有句子中搜索这些确切的单词,并返回找到所有单词的行号。
我现在的方法是创建一个指向其他包含每个句子的单词的数组的指针数组。
ifstream read;
string filename;
string **txtPtr = nullptr;
int numLines = 0;
getFileName();
getNumLines(read, fileName); //stores # of lines into numLines
txtPtr = new string*[numLines];
我的问题是,我可以将指针作为string *lines
或string *lines[]
传递给函数吗?
答案 0 :(得分:0)
我将解析输入文件并建立索引,然后在该索引中查找用户输入的单词。索引将为std :: map,其中std :: string为键,“ Entry”结构为值:
struct Entry {
int line;
int sentence;
};
typedef std::map<std::string, Entry> Index;
这是插入的样子:
Index index;
Entry val;
val.line = 1;
val.sentence = 2;
std::string word = "hi";
index.insert(Index::value_type(word, val));
这是查找的样子:
Index::iterator it = index.find(word);
if (it != index.end())
std::cout << "found:" << it->second.line;
我知道这不是您所提问题的答案,但仍然有帮助。