[완료]오늘만 두 번째 질문..
글쓴이: dltkddyd / 작성시간: 수, 2012/01/11 - 7:21오후
역시 C++은 엄격해서 초보가 다루기가 힘드네요. 오늘만 string 객체와 관련해서 두 번째 질문입니다. 이번에는 string 객체의 특정 위치의 문자 아스키코드를 substr 멤버함수로 얻어오고자 합니다.
string tStr("The wind is blowing from east to east.");
int ascii=(int)tStr.substr(0,1);
cou<<"tStr의 첫 번째 문자 아스키 코드는"<<ascii;
그런데 컴파일 하면 또 에러가 뜨네요. 캐스팅이 잘못됐다는 것인데요. 아마도 substr 멤버함수가 string 타입을 반환함에도 int형 변수로 대입해서 그런 것 같습니다. ascii를 char형으로 선언하고 tStr.substr(0,1) 앞에 (char)를 두어 캐스팅해도 마찬가지 캐스팅 에러가 뜨네요. 이 문제 어떻게 고쳐야 하나요?
인생 살다보면, 산은 하나가 아니더이다.... 우우우.. ㅜㅜ
Forums:
<<
<<
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
포인터 다루는 함수로 해결했습니다.
포인터 다루는 substr 함수를 직접 만들어서 해결했습니다.
길이 없으면 만든다. 삽질도 마다하지 않는다.
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
int ascii=tStr.at(0); 꼭 c++을
int ascii=tStr.at(0);
꼭 c++을 쓸 필요는 없습니다.
c++과 c는 다른 언어이지 어느 한쪽이 더 우월한 언어인 것은 아닙니다.
c++을 쓰려면 c++처럼 써야합니다.
억지로 c에 대입해서 생각하니 이상한 코드가 만들어지는것 같습니다.
해결했습니다.
C++로도 얼마든지 가능합니다. 소스 몇 개 추가하면 되는군요.
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
댓글 달기