【发布时间】:2014-07-25 16:14:17
【问题描述】:
我想将字符串的 UNIX 行结尾转换为 DOS 行结尾,因为我的程序与运行在基于 Linux 的操作系统上的服务器通信。我试过像这样使用 std::replace :
std::string str = readfromserver();
std::replace(str.begin(), str.end(), "\n", "\r\n");
但我得到以下编译器错误:
错误 C2782: 'void std::replace(_FwdIt,_FwdIt,const _Ty &,const _Ty &)' : 模板参数 '_Ty' 不明确
谁能告诉我我做错了什么或建议我换行结束转换的不同方式?
【问题讨论】:
-
一个字符串是
char的序列 -
那你怎么称呼
std::string? -
您将无法使用
std::replace执行此操作,因为它只允许您将单个字符替换为其他单个字符。 -
你可以使用这篇文章中的替换:stackoverflow.com/a/3418285/3510483