使用va_list类型作为类成员是否安全?
以下示例适用于Solaris.它不需要可以跨不同的操作系统移植.但是它可以移植到未来的Solaris版本吗?不同的HW?不同的编译器?还是编译选项?
class MyFormatString
{
public:
MyFormatString(const char* formatString, va_list varg);
~MyFormatString() { va_end(mVarg); }
// ...
// provide some util functions to operate on the format string
// ...
private:
string mFormatString;
va_list mVarg;
};
MyFormatString::MyFormatString(const char* fmt, va_list varg)
{
if (fmt)
mFormatString=fmt;
va_copy(mVarg, varg);
}
Run Code Online (Sandbox Code Playgroud) 我试图在Windows命令行脚本的FOR/F语句中转义&符号,如下所示:
FOR /F "tokens=1,2 delims=^&" %%A IN ("%Var%") DO (...
Run Code Online (Sandbox Code Playgroud)
运行脚本的结果仍然是:
& was unexpected at this time
Run Code Online (Sandbox Code Playgroud)
使用&作为分隔符的正确方法是什么?或者它应该被要解析的字符串中的其他东西替换?