URL로 사용할 문자열을 준비하는 방법을 찾고 있습니다.C++ - % 20 공백 바꾸기
코드의 기본 사항은 찾고자하는 것을 입력하면 입력 한 내용과 함께 브라우저가 열립니다. C++을 배우므로 학습 프로그램입니다. 그리고 C++을 처음 접했을 때 가능한 구체적으로 설명하십시오.
cin >> s_input;
transform(s_input.begin(), s_input.end(), s_input.begin(), tolower);
s_input = "start http://website.com/" + s_input + "/0/7/0";
system(s_input.c_str());
하지만 사용자가 '% 20'으로 입력 한 모든 공백을 대체하기 위해 노력하고 있어요 : 여기
내가 할 노력하고 있는지. 나는 한 가지 방법을이 방법으로 찾았지만 한 번에 한 글자로만 작동하며, 전체 문자열로 문자를 배열 할 필요가 있습니다. 시도한 방법은 다음과 같습니다.cin >> s_input;
transform(s_input.begin(), s_input.end(), s_input.begin(), tolower);
using std::string;
using std::cout;
using std::endl;
using std::replace;
replace(s_input.begin(), s_input.end(), ' ', '%20');
s_input = "start http://website.com/" + s_input + "/0/7/0";
system(s_input.c_str());
당신의 도움에 감사드립니다!
실제로하려는 것은 문자열의 모든 특수 문자를 이스케이프 처리하는 것입니다. 스페이스는 URL에서 불법적 인 유일한 문자는 아닙니다. – Wug
문자열의 기본 "찾기 및 바꾸기"는 [이 질문 (http://stackoverflow.com/q/3418231/501250)을 참조하십시오. 그러나 써드 파티 라이브러리를 사용하여 문자열을 올바르게 URI 인코딩하는 것을 고려해야합니다. – cdhowie
@wug 당신은 그것에 대해 정확합니다. 그러나 이것은 단순히 학습 프로그램이며 한 번에 한 단계 만 수행 할 수 있습니다. 나는 이것을 사용하는 유일한 것입니다 .. – alexander7567