我有一个字符串如下:
char szText[] = {"DBName=aaa,DBUser=aaa,DBPass=safdff"};
我想把它中间的参数切出来。于是我写
sscanf(szText, "DBName=%s,DBUser=%s,DBPass=%s", szName, szUser, szPass);
结果好像不行,请问有没有这种能切出所需数据的方法呀?在这里拜谢了。
char szText[] = {"DBName=aaa,DBUser=aaa,DBPass=safdff"};
我想把它中间的参数切出来。于是我写
sscanf(szText, "DBName=%s,DBUser=%s,DBPass=%s", szName, szUser, szPass);
结果好像不行,请问有没有这种能切出所需数据的方法呀?在这里拜谢了。
解决方案 »
- win32程序中Combo Box中选项变动后我怎么收到这个消息
- 关于CreateInstance(__uuidof(Connection))总是失败
- 真诚请教啊,用ADO连接ORACLE的高手请进啊................
- 管道问题
- 请教高手一个问题,新手初学。
- sdk编译时连接出错!
- VC下如何获取页面播放器当前播放状态,望蒋公帮忙!
- 111222,过来领分
- realplayer不能重复播放。我写了点代码实现了此功能。谁要源代码(ttzzgg_80713)
- MFC里面CString 与 string 互相转化 的问题。
- 请教一个比较极端的节点排序算法
- activex 无窗口激活的问题!
strchr或strstr
void CCommonData::GetTextPamar(const char *szText, const char* szCondition, char* szValue)
{
int i;
int nCount;
char* pPos = NULL;
int nPos = 0; pPos = strstr(szText, szCondition);
if(pPos != NULL)
{
nPos = pPos - szText + strlen(szCondition);
for(i = nPos; i < (int)strlen(szText); i++)
{
nCount = i - nPos;
if(nCount >= MAX_BUFF_50)
{
szValue[MAX_BUFF_50 - 1] = '\0';
break;
} if(szText[i] == ';')
{
szValue[nCount] = '\0';
break;
}
else
{
szValue[nCount] = szText[i];
}
}
}
}//调用的时候只是
CCommonData::Instance().GetTextPamar(szText, "USER=", szUser);
给分,呵呵。