我有这个代码。我想把argv [1]作为fileName的前缀。我该怎么做?
int _tmain(int argc, char** argv)
{
...
_stprintf(fileName, _T("%04d-%02d-%02d-%02d-%02d-%02d-%03d.jpeg"), lt.wYear, lt.wMonth, lt.wDay, lt.wHour, lt.wMinute, lt.wSecond, lt.wMilliseconds);
答案 0 :(得分:1)
_stprintf(fileName, _T("%s-%04d-%02d-%02d-%02d-%02d-%02d-%03d.jpeg"), argv[1], lt.wYear, lt.wMonth, lt.wDay, lt.wHour, lt.wMinute, lt.wSecond, lt.wMilliseconds);
这会做你想要的,但是因为你正在使用C ++,你最好使用字符串流。
#include <stringstream>
int main(int argc, char** argv)
{
std::stringstream ss;
ss << argv[1] << "-" << lt.wYear << "-" << lt.wMonth << "-" << lt.wDay << "-" << lt.wHour << "-" << lt.wMinute << "-" << lt.wSecond << "-" << lt.wMilliseconds << ".jpeg";
}
然后,您可以使用ss.str()
访问该字符串。您还可以使用与任何输出流相同的流格式修饰符。
答案 1 :(得分:0)
假设完全非标准的_stprintf()
与sprintf()
密切相关,那么:
%s
。argv[1]
。请注意,argv
的类型为char **
;因此,argv[1]
的类型为char *
。