C++;异常:std::超出内存位置0x003DF4C0处的\u范围 我正在制作一个C++程序,从手机列表中获取手机,并从中取出一个VCARK文件。但是,我在将手机复制到该文件时遇到了问题,该文件是模板的字符串替换。我怎样才能解决这个问题

C++;异常:std::超出内存位置0x003DF4C0处的\u范围 我正在制作一个C++程序,从手机列表中获取手机,并从中取出一个VCARK文件。但是,我在将手机复制到该文件时遇到了问题,该文件是模板的字符串替换。我怎样才能解决这个问题,c++,visual-studio,c++11,fstream,ofstream,C++,Visual Studio,C++11,Fstream,Ofstream,我试着在这个网站上寻找一些解决方案,但没有一个是关于流的,这就是我用来做这件事的 intmain() { 字符串fileDest; string vCardTemp=“BEGIN:VCARD\version:3.0\nTEL;TYPE=WORK,MSG:phonehh\nEND:VCARD\n”; cout>fileDest; cout这是另一个问题的重复: @比利·奥尼尔有一个很好的解释,我在这里重复: str.replace(str.find(sequed),sequed.size(),re

我试着在这个网站上寻找一些解决方案,但没有一个是关于流的,这就是我用来做这件事的

intmain()
{
字符串fileDest;
string vCardTemp=“BEGIN:VCARD\version:3.0\nTEL;TYPE=WORK,MSG:phonehh\nEND:VCARD\n”;
cout>fileDest;

cout这是另一个问题的重复:

@比利·奥尼尔有一个很好的解释,我在这里重复:
str.replace(str.find(sequed),sequed.size(),replacement);
str.find()
找不到它要找的内容时,
是错误的。
str.find()
将返回
str::npos
,这将不是字符串中的有效位置。因此,调用replace失败,您看到的索引超出范围异常。

copy.replace(copy.find(“phonehh”),7,line);
可能会导致此问题。如果查找不成功怎么办?