스택 오버플로 및 웹에서 검색해도 내 질문에 대한 답을 찾지 못하는 것 같습니다.문자열의 일부를 double C++로 바꾸는 방법
당신은 어떻게 변수
예와 문자열의 일부를 교체하는 : I 변수 '숫자'이 문자열의 끝에 "# N"을 대체합니다.
첫 번째 시도 :
string firstline= "will find the answer in Chapter #N.";
firstline.replace(firstline.begin(),firstline,end(),"#N",number);
는 당신이 변수로 사람들을 통과하는 것을 허용하지 않는 기능을 대체 밝혀졌습니다.
두 번째 시도 :
내가 다른 문자열로 문자열의 일부를 변경 유튜브 튜토리얼을 발견했다.
세 번째 매개 변수가 두 배로 변경되었지만 아직 그 중 어디에서든 가져올 수 없습니다.
정답을 얻으려면 도움을 주시면 감사하겠습니다.
편집 : @sneha 그러나 내가 성공적으로 변경할 수 없습니다 해요, 나는 그 제안을했고, 내 코드는 이제 컴파일 할 수 있습니다 to_string()
를 사용하여 문자열로 변수를 변경 제안을했다 끈. 출력은
std::to_string(c1)
이 그 다음으로 문자열을 대체 사용하여 문자열 "will find the answer in Chapter #N."
int main()
{
double number =20;
char str[] = "will find the answer in Chapter #N."
cout<< replace_all(str, "we", to_string(number));
return 0;
}
string replace_all(string str, const string &from, const string &to)
{
int pos=0;
int flen= from.length();
int tlen = to.length();
while((pos= str.find(from,pos)) != -1)
{
str.replace(pos,flen,to);
pos += tlen;
}
return str;
}
코드에'# N '이 하나 있습니까? 문자열에서 위치가 고정되어 있습니까? – abdullah
두 단계 과정입니다. 숫자를 문자열로 변환 한 다음 문자열을 대체하십시오. –
숫자 변수를 double에서 string으로 변환 한 다음 replace 함수를 사용하십시오. – kishore