iOS Xcode 프로젝트의 정적 C++ 라이브러리로 작업하면서 printf 및 Xcode LLDB 디버거로 이상한 동작을 만났습니다. 때로는 printf("%s", char*)
의 인쇄 결과가 숫자 또는 문자로 연결된 문자였습니다. 쓰레기 문자. 첨부 된 이미지는 자체적으로 말합니다. 어떤 생각? 당신이 %s
형식 지정자로 인쇄하는 경우 필요 a
char - LLDB 디버거를 인쇄 할 때 printf가 비정상적으로 작동합니다.
0
A
답변
2
예상대로 작동하는 것 같다. %s
은 NUL 종료 문자열을 필요로합니다. 즉, 주어진 char*
의 경우 첫 번째 문자 인 '\0'
까지 인쇄하십시오. 배열을 %s
에 적합하게하려면 5 바이트를 할당하고 a[4]=0;
을 할당해야합니다.
+0
* 모든 동작은 "예상대로"됩니다. 'printf ("% s", blah)'NUL 종료가 아닌 배열에 대한 포인터를 주면 동작은 정의되지 않습니다. –
+0
, 고마워! –
0
문자 배열은 '\0'
종료합니다 :
char * a = new char[5];
a[0] = 'i';
a[1] = 'p';
a[2] = 'o';
a[3] = 'd';
a[4] = '\0';
printf("word: %s\n", a);
관련 문제
- 1. 여러 캔버스가 비정상적으로 작동합니다.
- 2. setPivotX가 비정상적으로 작동합니다.
- 3. LLDB 신속한 인쇄 객체
- 4. 예제 문법을 시도 할 때 구문 분석기가 비정상적으로 작동합니다.
- 5. update_field를 통해 ACF의 Repeater에 행을 추가 할 때 비정상적으로 작동합니다.
- 6. request.POST django에서 QueryDict가 비정상적으로 작동합니다.
- 7. 어셈블리 EAX 레지스터가 비정상적으로 작동합니다.
- 8. MySQL 쿼리 연결이 비정상적으로 작동합니다.
- 9. BeautifulSoup4의 Insert_after() 함수가 비정상적으로 작동합니다.
- 10. Daydream의 설정 페이지가 비정상적으로 작동합니다.
- 11. VHDL ALU 코드가 비정상적으로 작동합니다.
- 12. char *의 printf가 세그먼트 오류를 가져옴
- 13. char *에서 printf가 작동하지 않습니다. VS2013 C++
- 14. 인쇄/디버깅 libC++ STL with XCode/LLDB
- 15. Groovy 스크립트 - 로그백 구성이 비정상적으로 작동합니다.
- 16. 타일을 클릭하면 Windows 응용 프로그램이 비정상적으로 작동합니다.
- 17. UIBarButtonItem으로 인해 iPhone 응용 프로그램이 비정상적으로 작동합니다.
- 18. tmux 쉘이 중단되었고 Linux 쉘이 비정상적으로 작동합니다.
- 19. printf가 올바르게 인쇄되지 않습니다.
- 20. 하스켈 인쇄 [[[Char]]] IO
- 21. C *에서 char * 인쇄
- 22. printf가 처리되지 않으면 어떻게됩니까?
- 23. LLDB
- 24. 인쇄 할 때 호출 할 때 인쇄 메서드가 디버깅 할 때 호출되지 않았습니다.
- 25. char 포인터에서 문자 인쇄
- 26. RubyMine에서 디버거를 사용하려고 할 때 오류가 발생했습니다.
- 27. 메모리를 인쇄 할 때 segfault
- 28. Printf가 어떻게 든 변경됩니까?
- 29. lldb (xcode)와 lldb (독립형)
- 30. printf가 double-c 프로그래밍
코드의 텍스트 복사 및 붙여 넣기는 읽고 사용하기가 더 쉽습니다. –