내가 원하는 것은 a를 전달 char* buffer
하고 그것을 리터럴 문자열과 비교하는 "@"
것입니다. 왜 이것이 저에게 그렇게 어려운가요?
char* buffer = "@3702";
string b(buffer);
string c("@");
if (strncmp(b.c_str(), c.c_str(), 1) == 0)
{
perror("Buffer malformated!");
return false;
}
이것에 대해 내가 이해하지 못하는 것은 무엇입니까?
편집 : haaaa,!=
안돼==
:)
비교 char*
하고 사용 하고 싶다면 strncmp()
stl 문자열을 사용할 필요가 없습니다.
int main()
{
char* buffer = "@3702";
char* c = "@";
if (strncmp(buffer, c, strlen(c)) == 0)
{
//same string
return true;
}
else
{
//not same string
return false;
}
getchar();
}
그리고으로 char[]
변환 할 수 있다는 점을 기억하세요 char*
.이 경우 위 코드는 아래 코드와 비슷합니다.
int main()
{
char buffer[] = "@3702";
char c[] = "@";
if(buffer[0] == c[0])
{
//same string
return true;
}
else
{
//not same string
return false;
}
getchar();
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다