문자열의 모든 공백을 밑줄로 대체하는 내용을 작성하려고합니다.공백을 밑줄로 바꾸기
내가 지금까지 가지고있는 것.
string space2underscore(string text)
{
for(int i = 0; i < text.length(); i++)
{
if(text[i] == ' ')
text[i] = '_';
}
return text;
}
내가 좋아하는 일을하는 경우 대부분 작동합니다.
string word = "hello stackoverflow";
word = space2underscore(word);
cout << word;
"hello_stackoverflow"가 출력됩니다. 이는 내가 원하는 것입니다. 내가
string word;
cin >> word;
word = space2underscore(word);
cout << word;
처럼 뭔가를했다 경우
하지만 난 그냥 "안녕하세요", 첫 번째 단어를 얻을 것입니다.
아무도이 문제를 해결할 수 있습니까?
미안하지만, 당신이'std ::'를 사용하든 안하든 섞어 버리고 있습니다. (기술적으로 코드는 맨 위의'std :: cout;'과 함께 작동한다.) –
@Platinum Azure : 네가 맞다. 개인적으로 나는 명시 적으로'std ::'를 사용하고 싶지만, 나는 OP의 코드 중 일부를 내 예. 내가 정리할거야. –
고마워요! 내 프로그램은 이제 괜찮아 :) –