2012-02-21 1 views
0

인터페이스 int handleString(String str);캐릭터 라인의 포인터 할당에 의한 잘못된 데이터를 가져 :: UTF8을(). webcore

나는 아래로 문자열 형식 매개 변수가있는 웹킷 플러그인의 기능의 데이터() 아래 함수와 같이 코드를 작성했습니다 const char *data = str.utf8().data(); 그리고 아래와 같이 데이터를 인쇄 해보십시오. printf("data = %s\n", data); 또한 나는이 인쇄 다른보고 printf("str = %s\n", str.utf8().data());

아래 않지만. 데이터는 처음 몇 바이트가 수정 된 문자열을 가리 킵니다.

아무도 말해 줄 수 없습니까? 감사.

답변

0

printf를 사용하여 str.ascii(). data()를 사용하여 안전하게 인쇄 할 수 있습니다.

0

동일한 문제가 발생했습니다. 왜 처음 8 자리가 뒤죽박죽인지 확실하지 않습니다.

첫 번째 8 자만 통과해도 상관 없습니다. 나머지 문자열은 정상적으로 나타납니다.

STRDUP API를 사용하여 문제를 해결할 수있었습니다.

관련 문제