일부 로그 파일을 읽습니다. Windows 로그에는 C:\some\path
과 같은 경로가 있습니다.C++ 문자열 : 이스케이프 처리되지 않은 백 슬래시를 바꾸는 방법?
std::getline
으로 읽을 때 이스케이프 처리되지 않은 백 슬래시가 포함 된 문자열이 표시됩니다. 어떻게 그들을 슬래시로 바꿀 수 있습니까?
std::replace(str.begin(), str.end(), '\\', '/');
을 시도했지만 결과는
C:somepath
대신
C:/some/path
것 같습니다.
\
을 /
또는 \\
으로 대체하려면 어떻게해야하나요?
이 문자열은 JSON 객체를 작성하는 데 사용되므로 백 슬래시를 바꾸지 않으면 잘못된 JSON 객체가 반환됩니다.
제리, 사용 사례의 부족을 지적 주셔서 감사합니다. 질문을 업데이트했습니다 (위 참조). 문자열을 사용하여 JSON 객체를 만들었으므로 잘못된 JSON 객체에서 백 슬래시 결과를 대체하지 마십시오. –