要这样写:
printf(
"
100%%
"
);
大家都知道吗?直接学c++,没仔细学过C的,估计不知道。
其实我是在用一个变长参数的函数时发现这个问题的,用流的话不用两个%,嘿嘿,写个例程:
#include <stdio.h>
#include <varargs.h>
#include <string>
#include <iostream>
#include <sstream>
#include <stdarg.h>
std::string GetString(const char* pszFmt, );
int _tmain(int argc, _TCHAR* argv[])
{
std::string str0 = GetString("我叫猪头,我%d岁了, 我脂肪含量98%%!", 3);
std::ostringstream oss;
oss << "我叫猪头,我" << 3 << "岁了, 我脂肪含量98%!";
std::cout << str0 << '\n' << oss.str() << std::endl;
return 0;
}
std::string GetString(const char* pszFmt, )
{
std::string strReturn;
va_list args;
va_start(args, pszFmt);
int len = _vscprintf(pszFmt, args);
strReturn.resize(len);
vsprintf(&strReturn[0], pszFmt, args);
va_end(args);
return strReturn;
}
posted on 2007-03-19 21:11
七星重剑 阅读(1827)
评论(5) 编辑 收藏 引用 所属分类:
PL--c/c++