gpt4 book ai didi

c++ - 为什么 Windows 在我使用 ** 时将我的目录列表注入(inject)到 argv 中?

转载 作者:行者123 更新时间:2023-11-28 06:50:35 25 4
gpt4 key购买 nike

主要方法如下:

int main(int argc,char** argv)
{
std::string expression=argv[1];
for(int i=2;i<argc;i++)
{
expression+=' ';
expression+=argv[i];
}
std::cout << expression << std::endl << std::endl;
Expression* expr = Expression::build(expression.c_str());
std::cout << expr->evaluate() << std::endl;
delete expr;
return 0;
}

出于某种原因,大多数情况下效果很好,但请参阅此输入/输出示例:

D:\Tyler\Desktop>a 2**3
2**3

8

D:\Tyler\Desktop>a 2 ** 3
2 10284556_10203827451228798_9031461414658797199_o.jpg 15686-vanille.p3t 18
865-MiraiNikki.p3t 20777-MIRRORSEDGE2AnimatedTheme.p3t [APE] gras.gpl [Irfa
nView] [APE] gras.pal a.exe arboles_FM.png calc.c calc.cpp couch.png deskto
p.ini gras.pal hackzorz log.txt montanas_FM.png p3textractor p3textractor.z
ip PALLET TOWN.bmp PALLET TOWN.png Pokemon FireRed.bak Pokemon FireRed.gba
Pokemon FireRed.ini Pokemon FireRed.zip ROM Hackers GBA Tool Pack roms send
eros_cope.png senderos_FM.png Thumbs.db Tileset0.bmp Tileset0.pal untitled.
bmp untitled.PNG wdps 3

我觉得这是某种 Windows 问题,或者我在这里遗漏了一些关键的东西?

最佳答案

** 是许多 shell 中的经典“通配符”,包括 Windows。它将替换为当前目录中所有文件的列表。

因此,您可以执行del * 来删除所有文件。使用多个 * 与使用单个 * 相同。

关于c++ - 为什么 Windows 在我使用 ** 时将我的目录列表注入(inject)到 argv 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com