我试图用下面的代码从c文件中解除linux驱动程序的绑定

fp = popen("echo -n "5b020000.usdhc" >
/sys/devices/platform/5b020000.usdhc/driver/unbind","r");

当我试图编译时,我发现了下面的错误。
error: invalid suffix "b020000.usdhc" on integer constant

我怎样才能解决这个问题。

最佳答案

如果不转义,则C字符串中不能有双引号字符串:

fp = popen("echo -n \"5b020000.usdhc\" > /sys/devices/platform/5b020000.usdhc/driver/unbind","r");
//                  ^^              ^^
// Note the escaped double-quotes here

如果没有引号,则有字符串""echo -n ",后跟无效数字5b020000.usdhc,后跟字符串" > /sys/devices/platform/5b020000.usdhc/driver/unbind"
尽管在这个问题中显示的特定情况下,根本不需要嵌套引号。

10-05 18:06