sprintf与sscanf函数使用
sscanf() 和 sprintf() 用于实现数据与字符串之间的转换。
sprintf()函数用于向字符串种写入数据,sscanf()用于从字符串中读出格式化的数据。
- sprintf()函数
sprintf函数原型为 int sprintf(char *str, const char *format, …)。
第一个参数指明格式化后的数据存放的地址,第二个参数为原来数据的数据类型。使用方法如下:
sprintf(pdu->caData, "%d %d %s", srcLen, desLen, m_strMoveFileName.toStdString().c_str());
- sscanf()函数
sscanf函数原型为int sscanf(const char *str, const char *format, …)。从一个字符串中,转化出格式化的数据。使用方法如下:
sscanf(pdu->caData, "%d%d%s", &srclen,&deslen, caFileName);
这样做的一个好处是有利于数据的传输,例如客户端在传输数据时能够把要传输的三个参数合并到一个字符数组中,服务端再将三个参数从字符数组中解析出来。