我试图在字符串类数组中插入几个字符串类数组(取自输入文件)。
我正在编写的程序由一个Dictionary类组成,其中默认构造函数接受一个文件名(例如" words.txt")作为参数,从而将每个单独读取的单词存储到一个单独的String类数组中的元素。 文本文件看起来像:
example
text
file
here
etc...
我编写的代码用于测试它(完全不起作用)如下:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Dictionary(const char *file) {
public:
string wordList;
int numWords;
};
Dictionary::Dictionary(const char *file) {
ifstream inFile;
int SIZE = 50000;
char pass[SIZE+1];
numWords = 0;
inFile.open(file);
if(!inFile)
cout << "File can not be opened" << endl;
else
while(inFile.getline(pass, SIZE)){
wordList[numWords] = pass[SIZE+1];
numWords++;
}
}
inFile.close();
cout << wordList[5] << endl;
cout << numWords << endl;
}
int main(){
Dictionary *foo = new Dictionary("words.txt");
};
代码编译但打印:
//should print out the 5th word in the file but nothing
0
我想知道我到底错过了什么?我已经在一夜之间解决了这个问题,我觉得解决方案很简单,但我忽略了这一点。
我的主要问题似乎是在我的其他试验中打印出的错误信息,其中包含&#34;无效转换来自&#39; char *&#39;到了&#39; char&#39;。此外,未示出的程序中的其他函数需要操纵String类数组的元素中的每个单词的字母(优选地作为字符串类数组而不是C字符串)。我迷失在这里。请帮帮忙?
我找到了这个有用的链接,但它适用于Java。什么是C ++的等价物? http://www.mathcs.emory.edu/~cheung/Courses/170/Syllabus/09/String-array.html
答案 0 :(得分:0)
有几个地方可以开始: