追加、C 字符串和结构成员函数

问题描述 投票:0回答:1

我不熟悉我大学的学术诚实规则,所以除了我使用附加成员函数可能出现的问题之外,请不要解释太多,我只是想了解如何添加我想要的字符到用户输入内容的末尾。如果有帮助的话,还会将一个指针传递到 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";
但它将它添加到开头而不是末尾

arrays c-strings pointer-to-member
1个回答
0
投票

一些提示:

  • using
    wordArr->
    .. 意味着您将
    wordArr
    视为指向单个
    Word
    对象的指针,而不是数组,这似乎与命名不一致。您想要
    wordArr[i].
    ...访问数组的第 i 个元素。
  • wordArr->pigLatin[index]
    正在访问字符串
    pigLatin
    中的第索引字符,这似乎不正确,除非
    size
    实际上是字符串的长度,而不是
    wordArr
    数组的大小(这似乎更有可能)
© www.soinside.com 2019 - 2024. All rights reserved.