字符串串联o范围
String substring out o range
我对此代码有问题。我已经阅读了一些问题,但是我在代码中找不到问题。
string Mansfildenc(string input){
string output;
char tab[5][5] = {
{'a', 'b', 'c', 'd', 'e'},
{'f', 'g', 'h', 'i', 'k'},
{'l', 'm', 'n', 'o', 'p'},
{'q', 'r', 's', 't', 'u'},
{'v', 'w', 'x', 'y', 'z'}};
char tab2[5]={'A','E','I','O','U'};
int j=0,i;
char c;
int gasit;
int lin,col;
for(i=0;i<input.length();i++){
c=tolower(input[i]);
if(isalpha(c)){
if(c=='j'){
output[j]='E';
j++;
output[j]='O';
j++;
}
else{
gasit=0;
for(lin=0;lin<5;lin++){
for(col=0;col<5;col++)
if(tab[lin][col]==c){
gasit=1;
break;
}
if(gasit==1) break;
}
output[j]=tab2[lin];
j++;
output[j]=tab2[col];
j++;
}
}
else{
output[j]=c;
j++;
}
}
return output;
}
如果您可以帮助我。我正在与Visual Studio 2010合作。预先感谢!
使用char []保持输出或使用输出=输出 字符串 字符串(1,char)将您的字符附加到输出字符串上。
正如Luchian建议的那样,您需要非常仔细地处理char [],这也需要对您的代码进行一些更改。改用字符串。
相关文章:
- C++ - 使用基于范围的 for 循环将字符值分配给向量中的字符串不会分配值
- 字符串的矢量并使用 C++20 范围进行转换
- C++ - 成功打印超出范围的字符串索引
- C++十进制到十六进制(字符串下标超出范围)
- 如何修复范围内的字符串声明错误
- C++ 字符串订阅超出范围的问题
- 在遍历字符串时,为什么我没有超出范围错误,即使我已经超出了它的长度?
- 初始检查以查看子字符串是否在范围内
- 在此范围C 中未声明字符串和char变量
- 尝试对字符串[数组]>>cin 并出现错误(" "字符串下标超出范围")
- 如何在 C++ 的字符串中打印从一个索引到另一个索引的字符范围
- C++:,当我使用字符串数组时,它的字符串下标超出了范围
- 如何将标准::字符串拆分为标准::string_views的范围 (v3)
- 为带有带前缀的字符串的容器查找相等的范围
- 为什么程序显示字符串超出范围
- 字符串订阅超出范围 - 字符串气泡排序
- 使用std :: quare_range查找字符串向量中发生的前缀范围
- 范围基于循环,使用指示字符串的指针
- 为什么在范围中未声明此字符串
- 用于匹配 C++ 范围字符串文本的正则表达式 (L "..." )