我试图用下面的代码从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"
。尽管在这个问题中显示的特定情况下,根本不需要嵌套引号。