系统() 中的空格C++
Spaces in system() C++
我已经尝试了在Stackoverflow中找到的一些解决方案,但是我无法使其工作,我想启动一个.LOG(.txt文件)来自C++,但包含它的路径文件夹可能有空格,所以当我尝试启动它时,我收到一个错误,说它找不到该文件,因为 pah(包含空格)是错误的,这是我的代码的样子:
void Log (unsigned int Code,...)
{
char currdate[11] = {0};
SYSTEMTIME t;
GetLocalTime(&t);
sprintf(currdate, "%02d:%02d:%02d", t.wHour, t.wMinute, t.wSecond);
PROCESSENTRY32 pe32;
FILE* FileHwnd1;
FileHwnd1 = fopen("TEST.log","a+");
fprintf(FileHwnd1,"[%s] Code: %Xn",currdate,Code);
fclose(FileHwnd1);
char buffer[MAX_PATH];
GetModuleFileName( NULL, buffer, MAX_PATH);
char Path[50];
wsprintf(Path,"start %s\AntiHack.log",buffer);
system(Path);//Here is where i get the containing spaces path error
}
谢谢。
我建议您完全避免系统调用并自行启动该过程。
- 使用 AssocQueryString() 查找您的关联进程扩展(在本例中为 .log)
- 设置并启动 CreateProcess() 调用以调用,传递适当的命令行。
还有其他方法可以做到这一点,但正如你现在注意到的那样,走一条迂回的路总是会有陷阱。以上是 Explorer.exe 如何启动扩展的关联进程。
你可以试试:
wsprintf(Path,"start "" "%s"\AntiHack.log",buffer);
相关文章:
- 2D数组来自文本输入,中间有空格
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 如何在c++中使用system()来运行包含空格的python脚本
- basic_string的前导/尾部不区分空格的特征
- 移除前面有空格的前2个字符串
- 如何将以逗号和空格分隔的整数读取到 2D 数组中?
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 为什么 c++(g++) 不允许模板返回类型和函数名称之间有空格?
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 在字符串中插入空格
- C ++中的StringStream有助于使用向量从字符串中提取逗号分隔的整数,而不是空格分隔的整数,为什么?
- C++为一串单词添加空格
- 使用另一个字符串从字符串中删除空格
- 我还可以添加什么来按空格或空格正确拆分C++字符串?
- 如何打印不带空格的输入整数?
- 野牛/yacc 解析器在不被空格分隔时跳过 grammer - "unexpected $end"
- C++ "noskipws"没有按预期工作,如何正确允许字符串中的空格?
- 在 c++ 中逐行阅读字符串,不要以空格停止