如何在C Windows程序中将代码页设置为UTF-8?
我有一个第三方库,使用fopen打开文件.我可以使用wcstombs将我的Unicode文件名转换为当前代码页,但是如果用户的文件名在代码页之外有一个字符,则会中断.
理想情况下,我只需调用_setmbcp(65001)将代码页设置为UTF-8,但_setmbcp的MSDN文档声明不支持UTF-8.
我怎么能绕过这个?
我正在执行并行步骤 -
stages {
stage ('Parallel build LEVEL 1 - A,B,C ...') {
steps{
parallel (
"Build A": {
node('Build_Server_Stack') {
buildAndArchive(A) // my code
}
},
"Build B" : {
node('Build_Server_Stack') {
buildAndArchive(B)
}
},
"Build C" : {
node('Build_Server_Stack') {
buildAndArchive(C)
}
}
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我要求在C完成后开始执行B。我可以将 B 作业从并行块中取出并添加到并行块之后来实现此目的。但在这种情况下,B 在 A 和 C 完成之前不会启动。对于长时间的 A 作业,当您有空闲的构建服务器可用时,这会影响性能。我们能否解决/改进执行计划以并行运行,但并行步骤具有“依赖性”或“优先级”。促销插件中也存在类似的机制,但需要在管道中实现。
我想运行由 Python 脚本生成的一系列 bash 命令。命令的形式为export foo="bar"和alias foo=bar。他们必须修改当前进程的环境。
这很好用:
$(./generate_commands.py)
Run Code Online (Sandbox Code Playgroud)
直到导出命令包含空格,例如export x="a b"。这会生成错误,并且仅"a被导出(包括引号)。
目前我正在通过将generate_commands输出到临时文件并获取它来解决这个问题,但是有没有更优雅的解决方案?