在字符串的每个单词的末尾插入字符串
Inserting a string at the end of every word of a string
我试图在 cpp 中通过 getline 获得的字符串的每个单词的末尾添加"ay",但结果打印无限的"ay"而不会中断。我为此使用了"插入"功能:
#include<iostream>
#include<string>
using namespace std;
int main()
{
int add;
string s;
getline (cin,s);
for (int i = 0; i < s.length(); i++)
{
if (s[i]==' ')
{
add=i-1;
s.insert(add,"ay");
}
}
cout<<s;
return 0;
}
添加ay
后,需要更新索引i
,否则,在最近添加的y
继续索引,再次找到前面的空间。如果插入了索引,只需在循环中增加索引ay
:
if (s[i]==' ')
{
add=i-1;
s.insert(add,"ay");
i += 2; // bump i appropriately
}
假设您键入a b
。您在索引1
遇到一个空格并在此之前插入ay
,然后您将再次遇到相同的空格,在其前面插入ay
,依此类推。
与其手动查找单词,不如使用字符串流更容易:
#include<iostream>
#include<string>
#include <sstream>
using namespace std;
int main()
{
int add;
string s;
getline (cin,s);
std::stringstream ss(s);
string word;
while (ss >> word) {
std::cout << word << "ay ";
}
return 0;
}
相关文章:
- 需要帮助将字符串插入函数
- 无法转换字符串插入函数的参数
- 字符串::插入产生运行时错误
- 通过字符串::插入插入字符时出错
- C++字符串插入
- 将字符串插入到c++stl集的时间复杂度
- 将字符串插入 JSON 模板
- 为什么我的程序在字符串::插入()处冻结
- 字符串插入C++
- 将字符转换为常量字符* 字符串插入C++
- C++ 将字符串插入地图时出现编译错误
- 将一个字符串插入另一个字符串..(冲刺)
- QSqlQuery将QByteArray作为字符串插入PostgreSQL
- 在 C++ 中将字符串插入到 AVL 树中
- 将字符串插入矢量
- 正在更改起始位置并将字符串插入到字符数组中
- 我想把子字符串插入到一个数组中,但只添加了第一个子字符串.如何纠正
- 将窄字符串插入到 std::basic_ostream<wchar_t>
- 如何将字符串插入到字符串流的开头
- 字符串::插入字符串末尾