1、sprintf() (swprintf() 、_stprintf())作用为将格式化的数据输出到一个字符串buffer中,sprintf_s()为其安全版本,
int sprintf(char *buffer, const char *format, [argument] ...);
int dSrc1 = 1;
int dSrc2 = 2;
TCHAR strSrc[] = _T("hello");
TCHAR AryDest[100] = {0};
_stprintf(AryDest, L"%4d,%4d,%s", dSrc1,dSrc2,strSrc);//AryDest:" 1, 2,hello"
fprintf(FILE* Stream, const char* Format, ...)可以将格式化的数据输入到文件中。
2、sscanf() (swscanf() 、_stscanf())作用为从一个字符串buffer中读取与指定格式相符的数据,sscanf_s()为其安全版本,
int sscanf(const char *buffer, const char *format, [argument ] ...);
TCHAR strSrc[] = _T(" 1, 2,hello");
int dDest1;
int dDest2;
TCHAR strDest[100] = {0};
_stscanf(strSrc, _T("%4d,%4d,%s"), &dDest1,&dDest2,strDest);//dDest1:1, dDest2:2, strDest:"hello"
fscanf(FILE* Stream, const char* Format, ... )
可以从文件中读取与指定格式相符的数据。
3、vsprintf()与vfprintf()功能与sprintf()和fprintf()相同,只不过如果vsprintf()或vfprintf()的实参来自于调用函数的参数,那么我们就使用vsprintf()或vfprintf(),eg:
void Trace(FILE* pFile, const char* format, ...)
{
va_list args;
va_start(args, format);
vfprintf(pFile, format, args);
va_end(args);
fflush(pFile);
}
Trace(pFile, "hello: %d", nNum);