我不熟悉我大学的学术诚实规则,所以除了我使用附加成员函数可能出现的问题之外,请不要解释太多,我只是想了解如何添加我想要的字符到用户输入内容的末尾。如果有帮助的话,还会将一个指针传递到 wordArr[] 中
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
struct Word {
string english;
string pigLatin;
};
void convertToPigLatin(Word wordArr[], int size){ //converts given word array into piglatin
char a = 'a';
char y = 'y';
char begins;
int i = 0;
for(int index = 0; index < size; index++){
wordArr->pigLatin[index] = wordArr->english[index];
}
for(int index = 0; index < size; index++){
if(isspace(wordArr->english[index])){
i = index - 1;
wordArr->pigLatin.append(i, 'a');
i++;
wordArr->pigLatin.append(i, 'y');
}
}
我尝试过移动附加参数中的内容,我还尝试使用 += 运算符来显示希望它会接受我输入的任何内容,然后将 ay 添加到它的末尾
wordArr->pigLatin += "ay";
但它将它添加到开头而不是末尾
一些提示:
wordArr->
.. 意味着您将 wordArr
视为指向单个 Word
对象的指针,而不是数组,这似乎与命名不一致。您想要 wordArr[i].
...访问数组的第 i 个元素。wordArr->pigLatin[index]
正在访问字符串pigLatin
中的第索引字符,这似乎不正确,除非size
实际上是字符串的长度,而不是wordArr
数组的大小(这似乎更有可能)