-5

C ++在位置4插入1个字母怎么做

我有一个字符串

欧元兑美元

我如何将其转换为欧元/美元

我尝试了类似的东西

string result;
result = "EURUSD";

result.insert(3,"/");

它不起作用。

main.cpp:202:24: error: passing ‘const string {aka const std::basic_string<char>}’ as ‘this’ argument of ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::insert(std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _CharT*) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>, std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>, std::basic_string<_CharT, _Traits, _Alloc>::size_type = unsigned int]’ discards qualifiers [-fpermissive]
main.cpp:203:2: error: expected ‘;’ before ‘cout’
4

2 回答 2

3

您是否尝试插入 with string::insert?就像是:

str.insert(??, '/');
于 2012-07-26T07:04:21.767 回答
0

这是要走的路:

#include <string>
#include <iostream>

int main()
{
  std::string my_string("EURUSD");

  // insert '/' after 'EUR'
  my_string.insert(3, 1, '/');

  // print result
  std::cout << my_string << std::endl;

  return 0;
}

std::string::insert 的参数:

  • 3:插入字符的位置
  • 1:插入字符多少次
  • '/':要插入的字符。

另请参阅http://www.cplusplus.com/reference/string/string/insert/以供参考。

于 2012-07-26T07:21:52.497 回答