函数的一段,该函数完成从一段字符串中提取 用户名和密码等信息
TCHAR tBuf[MAX_PATH];
static TCHAR sUserName[21];
static TCHAR sPassword[21];
if(_tcsnicmp(pBuf, _T("USER "), 5) == 0)
_stscanf(pBuf + 4, _T("%*[ ]%s"), sUserName);
else if(_tcsnicmp(pBuf, _T("PASS "), 5) == 0)
_stscanf(pBuf + 4, _T("%*[ ]%s"), sPassword);
else if(_tcsnicmp(pBuf, _T("RETR "), 5) == 0)
_stscanf(pBuf + 4, _T("%*[ ]%s"), tBuf);其中 pBuf是传进来的一个参数,里面存放着待提取的字符串我想问的是 _tcsnicmp和_stscanf 怎么用?
我知道_tcsnicmp在这里是在pBuf中匹配"USER "5个字符,然后用pBuf+4将后面的内容输出到sUserName, 但是后面就看不懂了,为什么pBuf+4又可以找到"PASS "这后面的值呢??
再后面又可以找到 "RETR "这后面的值呢??不解。。请赐教~~~~~~~~~~
TCHAR tBuf[MAX_PATH];
static TCHAR sUserName[21];
static TCHAR sPassword[21];
if(_tcsnicmp(pBuf, _T("USER "), 5) == 0)
_stscanf(pBuf + 4, _T("%*[ ]%s"), sUserName);
else if(_tcsnicmp(pBuf, _T("PASS "), 5) == 0)
_stscanf(pBuf + 4, _T("%*[ ]%s"), sPassword);
else if(_tcsnicmp(pBuf, _T("RETR "), 5) == 0)
_stscanf(pBuf + 4, _T("%*[ ]%s"), tBuf);其中 pBuf是传进来的一个参数,里面存放着待提取的字符串我想问的是 _tcsnicmp和_stscanf 怎么用?
我知道_tcsnicmp在这里是在pBuf中匹配"USER "5个字符,然后用pBuf+4将后面的内容输出到sUserName, 但是后面就看不懂了,为什么pBuf+4又可以找到"PASS "这后面的值呢??
再后面又可以找到 "RETR "这后面的值呢??不解。。请赐教~~~~~~~~~~
解决方案 »
- 关于打印设置对话框设置页码范围之后打印份数不起作用
- MFC如何发送一个关闭对话框消息
- 请高手出招:VC总是提示“试图执行系统不支持的操作”
- 按下按钮,跳转后对话框不会关闭,要等弹出的对话框关闭了它才关闭。。为什么啊!还有请问怎样同时向数据库增加多条记录啊。。
- 请问如何在vc编辑界面上显示中文?(我现在的编辑界面上的显示的是乱码,我用的是英文版的vc6.0)
- 对IE进行编程,怎么知道网页的高度?
- 天啊,“Process"居然不是性能对象,MS的示例代码有问题么???高分求助(vcleaner哥,谢谢刚才的回复)
- 谁能回答这个问题.
- 在Win32 DLL中使用对话框时遇到ERROR_RESOURCE_DATA_NOT_FOUND的错误,请问应该怎么办啊?高手请赐教!!
- 天啊,我快疯了,快来救救我啊
- 求救:关于月历控件使用的Debug与Release版本的问题
- 日文半角字符与英文字符混合在一起,如何能区分出来?
_stscanf格式化输入,可以接收指定类型的变量
否则pBuf前5个字符等于"PASS "则录入sPassword的内容
否则pBuf前5个字行等于"RETR "则录入tBuf的内容这个录入的内容是经过了格式化的保存在pBuff中,注意是从第4个字符开始的