【发布时间】:2020-06-05 20:05:55
【问题描述】:
我有两个文本文件,firstnames.txt 和 lastnames.txt。每个都有 20 个名字,而且都换了一行。我需要在我的程序中创建一个随机名称生成器。
我不允许使用string[],所以我必须使用char*[]。到目前为止,我的计划是将所有名称添加到char*[] 数组中,然后在 1 到 20 之间生成一个随机数并获取该索引以获得随机名称。我不知道如何将文本文件中的名称转换为char*[]。
这是我目前所拥有的:
int a = 0;
//Open first name file
ifstream fnameFile;
fnameFile.open("firstnames.txt");
char* fname[20];
//Put names from file into char*[] array
while (fnameFile.good()) {
getline(fnameFile, fname[a]);
a++;
}
getline() 不适用于 char*[] 数组,那么如何将这些名称放入数组中?
【问题讨论】:
-
istream::getline()与char *一起使用。 -
你有一个 char 指针数组。您必须为它们分配内存,或者使用 char 数组。
-
第一个问题是您愿意使用的名称长度是否有上限。还是您希望您的代码能够读取任意长度的名称?
-
请问为什么字符串[]被禁止?
-
有一个限制,15。我不能用string[],因为我的老师不让我