我ctypes在Python中使用它来打开一个用C++编写的文件.
我的C++代码:
extern "C" {
void openfile(const char *filename) {
cout<<"File to open for writing = " <<filename<<endl;
FILE *fp = fopen(filename,"w");
fprintf(fp,"writing into file");
fclose(fp);
}
}
Run Code Online (Sandbox Code Playgroud)
我的Python代码:
>>> import ctypes
>>> lib = ctypes.cdll.LoadLibrary('/in/vrtime/mahesh/blue/rnd/software/test/test.so')
>>> outfile = "myfirstfile.txt"
>>> lib.openfile(outfile)
File to open for writing = m
Run Code Online (Sandbox Code Playgroud)
我得到的文件名是m,这是char我文件的第一个字符.
如何将整个字符串传递给C端?