syntax error: unexpected “(“

syntax error: unexpected “(”

在C语言中通过system()函数创造指定的目录(文件),因为包含特殊字符,导致创建失败。原函数执行的是

system("mkdir -p /disk/logdb/db/@._-()[]|:=/operate");

然后一直报错 syntax error: unexpected “(”。查了好多都是给的命令行应该怎么样处理,没有说在程序中应该怎么处理。在代码中处理也不难其实。
也啰嗦一下,命令行处理,有两种方式:

hostname# mkdir -p "/disk/logdb/db/@._-()[]|:=/operate"
或者
hostname# mkdir -p '/disk/logdb/db/@._-()[]|:=/operate'

能敲命令行说明路径已知,代码中一般都是通过拷贝拼接出来的路径,所以没那么方便直接的修改
但是思路不变

// 在路径上加上单引号即可
snprintf(cmd_line, sizeof(cmd_line), "mkdir -p '%s%s'", "/disk/logdb/db/", file_name);
system(cmd_line);
或者
// 双引号转意
system("mkdir -p \"/disk/logdb/db/@._-()[]|:=/operate\"");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值