使用pyqt将输入输入到.c文件

时间:2013-08-02 08:58:20

标签: python c python-extensions

我创建了一个需要输入的c程序(通过scanf)。然后我创建了.so文件并在python脚本中调用它,这样当我运行脚本时,将在终端中询问输入。但是当我运行python程序时,终端会挂起。

请注意
1。我的代码

#include <stdio.h>
#include <string.h>
int open(void)
{
    char input[20];
    scanf("input = %s\n",&input);
    printf("\n%s\n","input");
}

2。我用来编译代码的命令

gcc -c usb_comm.c

3.创建.so文件

gcc -shared -o libhello.so usb_comm.o

4. python程序的相关部分
加载.so文件

from ctypes import cdll
mydll = cdll.LoadLibrary('/home/vineeshvs/Dropbox/wel/workspace/Atmel/libhello.so')


调用c程序中定义的函数

mydll.scanf("%c",mydll.open())

感谢收听:)

1 个答案:

答案 0 :(得分:0)

mydll.open()调用scanf。你为什么用Python调用scanf?

只需致电mydll.open()

mydll.open()

<强>更新

#include <stdio.h>

void open(void)
{
    char input[20];
    printf("input = "); // If you want prompt
    scanf("%s", input);
    printf("\n%s\n", input);
}