-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
해결됨
string 질문입니다!
21.02.09 14:20 작성 조회수 131
0
안녕하세요. 이렇게하면 b가 출력이 안되는데 이유를모르겠습니다.. string 으로 하고싶으면 어떻게 바꿔야하나요?
#include <iostream>
#include <string>
using namespace std;
int main() {
string a, b;
getline(cin, a);
int p =0;
for(int i=0; i<a.size(); i++){
if(a[i] != ' '){
if(a[i] >= 65 && a[i] <= 90){
b[p++] = a[i]+32;
}else{
b[p++] = a[i];
}
}
}
b[p] ='\0';
cout<<b<<'\n';
return 0;
}
답변을 작성해보세요.
2
김태원
지식공유자2021.02.09
안녕하세요^^
스트링은 마지막 널문자를 인식해서 출력하는 방식이 아닙니다. 널문자를 인식하고 출력하는 것은 char 배열입니다.
아래 코드처럼 하시면 됩니다.
#include <bits/stdc++.h>
using namespace std;
int main() {
char ch[100];
string a, b;
getline(cin, a);
int p =0;
for(int i=0; i<a.size(); i++){
if(a[i] != ' '){
if(a[i] >= 65 && a[i] <= 90){
b[p++] = a[i]+32;
}else{
b[p++] = a[i];
}
}
}
b[p] ='\0';
strcpy(ch, b.c_str()); //스트링을 char로 변환해야 널을 마지막 종료로 인식하고 출력합니다.
cout<<ch<<'\n';
return 0;
}
0
답변 2