ed502   6년 전

이게 왜 안되는지 도저히 모르겠습니다 ㅠㅠ

!strcmp(hihi,cmp)

이게 맞지 않나요?

두 문자열이 같으면 0을 반환해서 앞에 느낌표를 써줘서 맞으면 1로 가게끔 했습니다.

안되길래

string cmp("12345678");

으로도 해봤는데

!strcmp(hihi,cmp) << 여기서 안된다고 뜹니다.. string 형 문자열은 비교할수없나봅니다 ㅠㅠ

고수님들 제가ㅜ 메모리가 어떻게 쌓이고 어떻게 저장되는지 아직 잘 이해를못하겠습니다

제발 도와주세요 ㅠㅠ

djm03178   6년 전

strcmp는 string.h나 cstring을 포함해야 쓸 수 있습니다.

string cmp("12345678"); 로 놓고 strcmp를 쓰는 건 아예 틀립니다. string은 클래스이고, C에는 클래스라는 개념이 없습니다. C 라이브러리인 strcmp는 이걸 인식할 수 없습니다. 다만 cmp.c_str() 를 사용해서 쓸 수는 있습니다.

djm03178   6년 전

그리고 오류는 "왜 오류가 나지?"라고만 생각할 게 아니라, 그 메시지를 분석해야 합니다. 메시지에 모든 게 담겨 있습니다. 아마 strcmp가 선언되지 않았다는 식으로 나왔겠죠. 그러면 strcmp를 쓸 수 있게 만들어놨는지부터 확인해야 합니다.

strcmp가 어디 있는지 모른다면 레퍼런스 사이트를 활용하면 됩니다. http://en.cppreference.com/w/c...

djm03178   6년 전

마지막으로 C언어라고 하셨는데, iostream과 using namespace std, cout 등을 쓰는 순간 이미 이건 C언어가 아닙니다. C++이죠. 정말로 C언어를 배웠는데 저런 걸 쓰라고 가르친 곳이 있다면, 다른 곳을 알아보시라고 말씀드리고 싶습니다.

댓글을 작성하려면 로그인해야 합니다.