문장을 대문자에서 소문자로 변환하려고합니다. 나는 또한 코드를 쓰지만 공간이 나타날 때 나는 멈춘다. 이 문제를 해결하고 전체 문장을 어떻게 변환 할 수 있습니까? 여기이 공간을 나누기 때문에 theinput 운영자 >>
의 내 코드문장을 대문자에서 소문자로 변환하는 방법
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[100];
cin>>str;
for(int i=0;i<strlen(str);i++)
{
if(str[i]>='A'&&str[i]<='Z')
{
str[i]=str[i]+32;
}
}
cout<<str<<endl;
return 0;
}
'std :: transform' 또는 이미 만들어진 Boost 알고리즘을 사용하십시오. 그리고'std :: string'을 사용하십시오; 당신은 버퍼 오버런을 요구하고 있습니다. – chris
OP, 나는이 경험이 공백에 너를 괴롭 히지 않았 으면 좋겠다. 왜냐하면 코드가 가독성을 위해 조금 더 사용할 수 있기 때문이다. – Duck
이 코드는 'A'-'Z' 문자가 인접한 값을 가지고 있다고 가정하고'a'-'z' 문자는 연속적인 값을 가지며 32 문자를 추가하여 문자를 소문자로 변환 할 수 있다고 가정합니다. 모든 문자 집합에 대해 사실이 아닙니다. 표준 라이브러리에서'to lower '에 대해 읽으십시오. –