私はをPythonで使用して、C++での書き込み用ファイルを開きます。pythonからc関数にconst char *を渡す方法
私の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);
}
}
私の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
が、私は私のファイルの最初のchar
charaterでm
、などのファイル名を取得しています。
文字列全体をC側に渡す方法は? python3で
あなたは、C++へのpython文字列からの変換のようなものを渡す必要があり ' ctypes.c_char_p( "myfirstfile.txt") ' – cdarke
それでも、文字列全体をc側に渡すことができませんでした。 –