미안 해요,하지만 난 일반적으로 힘든 시간 현재하는 ctypes 문서를 읽기가 ...ctypes를 통해 참조로 파이썬 문자열을 전달할 수 있습니까?
나는 const char *
포인터를 취하는 C의 기능을 가지고 있고, 나는 그것이 어느 쪽도에 전달되지 수정합니다 알고 경우 문자열을 참조하거나 함수 호출을 넘어서 참조를 유지하지 않으면 실제로 파이썬 문자열의 바이트에 직접 포인터를 전달하는 것이 좋습니다.
ctype이이를 수행 할 수 있습니까? 아니면 일반 지원되지 않습니까? 내가 정말로 create_string_buffer
해야하고 그것에 내 문자열을 복사합니까? (파이썬 문자열는 불변이기 때문에, 당연히 생략) 포인터 유형 c_char_p 인스턴스에 대한 새로운 값을 할당
감사합니다, 당신은 완전히 정확합니다. 나는 이것을 읽기 전에 막연히 기억합니다. 나는 튜토리얼에 핵심 정보를 넣기 위해 ctypes 문서를 경멸한다. – porgarmingduod
나는 그것에 대해 듣는다. 파이썬 문서는 멋지다. 뭔가를 볼 때가있다. 그런 다음 당신이하고 싶은 일과 관련된 모든 것을 읽어야합니다. 나는 충분히 스트레스를받을 수 없다. 당신이 파스 한 문자열은 null로 끝나지 않을 것이다. 따라서 std :: string 또는 string.h 함수를 사용하지 마십시오.) – bryanegr
ctypes에 전달 된 파이썬 문자열은 * 종료됩니다. c_char_p 타입을 취하는 함수에 파이썬 문자열을 전달하는 것은 유효합니다. –