CString Find()函数的使用

aaa3150602 2011-05-06 04:33:33
我要从一个字符串中获取需要的字段,怎么用Find()函数~~!谢谢
例如 CString strTime = "2011-05-06" ;
我要获取其中的年、月、日,转换类型后赋值给CTime变量,我应该如何去获取。
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaa3150602 2011-05-06
  • 打赏
  • 举报
回复
刚用了1楼提到的Left()/Right()/Mid()方法 ,已经到达了目的,2楼的方法还没试,看了下挺好的,直接返回了CTime值 ,3楼的提到的几种方法也很简单,小弟在此谢过各位了,结贴发分,顺便祝大家周末愉快~~
mudunke775 2011-05-06
  • 打赏
  • 举报
回复
将CString转为CTime的几种方法
CString timestr = "2000年04月05日";
int a,b,c ;
sscanf(timestr.GetBuffer(timestr.GetLength()),"%d年%d月%d日",&a,&b,&c);
CTime time(a,b,c,0,0,0);

--------or - ---------------------
CString s("2001-8-29 19:06:23");
int nYear, nMonth, nDate, nHour, nMin, nSec;
sscanf(s, "%d-%d-%d %d:%d:%d", &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec);
CTime t(nYear, nMonth, nDate, nHour, nMin, nSec);
---- or ------------------------
CString timestr = "2000年04月05日";
int year,month,day;
BYTE tt[5];
//get year
memset(tt, 0, sizeof(tt));
tt[0] = timestr[0];
tt[1] = timestr[1];
tt[2] = timestr[2];
tt[3] = timestr[3];
year= atoi((char *)tt);

//get month
memset(tt, 0, sizeof(tt));
tt[0] = timestr[6];
tt[1] = timestr[7];
month = atoi((char *)tt);

//get day
memset(tt, 0, sizeof(tt));
tt[0] = timestr[10];
tt[1] = timestr[11];

CTime time(year,month,day,0,0,0);
healer_kx 2011-05-06
  • 打赏
  • 举报
回复
你应该用 下面这个函数,而不是Find,Find肯定不行的。

CTime Parse(CString const& strTime, CString const& strFormat)
{
WCHAR szWeek[16] = {};
WCHAR szMonth[16] = {};
UINT nDate = 0;
UINT nHour = 0;
UINT nMinute = 0;
UINT nSecond = 0;
WCHAR szZone1[16] = {};
UINT szZone = 0;
UINT nYear = 0;
swscanf_s(strTime, L"%s %s %d %d:%d:%d %s %d",
szWeek, 16, szMonth, 16, &nDate, &nHour, &nMinute, &nSecond, szZone1, 16, &nYear);

SYSTEMTIME st;
st.wYear = nYear;
st.wDay = nDate;
st.wHour = nHour;
st.wMinute = nMinute;
st.wSecond = nSecond;
st.wMonth = GetMonth(szMonth) + 1;

return CTime(st);
}

Eleven 2011-05-06
  • 打赏
  • 举报
回复
CString::Find(_T("-"));
利用CString::Left()/Right()/Mid()方法

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧