#python
#python
Вопрос:
Я написал этот код, не ожидая, что он сработает:
clib = cdll.msvcrt
string = "Hello"
clib.strcpy(string, "WURT")
print(string)
Он распечатал:
"Hello"
Для меня это имело смысл. В конце концов, строки Python — это объекты, поэтому я решил сделать то, что, по моему мнению, было бы правильной реализацией:
clib = cdll.msvcrt
string = c_wchar_p("")
clib.strcpy(string,"Hello")
print(string)
Он выводит «H», и я почесал голову и сказал, что за …? Есть идеи, почему он копирует только одну букву?
Комментарии:
1.
string
это модуль Python, вероятно, лучше избегать его использования в качестве имени переменной.2. То же самое поведение с любым другим именем, которое я выбрал, и string отсутствует в моем текущем глобальном пространстве имен, но спасибо, что поставили меня в известность. 😛