请教一个关于_ftscanf的问题

南安风语者 2006-11-03 11:46:25
FILE* g_fp;
CString csTemp = _T("");

LONG nYear = 0;
LONG nMonth = 0;
LONG nDay = 0;

CreateDirectory( HTDate_Time_Path, NULL);

g_fp = _tfopen( HTDate_Time_Path, _T("r"));

_ftscanf( g_fp, _T("%s"), csTemp);

AfxMessageBox( csTemp);

nYear = _ttol( csTemp.Left( 4));
nMonth = _ttol( csTemp.Mid( 4,2));
nDay = _ttol( csTemp.Mid( 6,2));

csTemp.Format( _T("%d/%d/%d"), nYear, nMonth, nDay);
AfxMessageBox( csTemp);

fclose( g_fp);
"HTDate_Time_Path"是文件的路径,一个.TXT文件,里面写的是"20061103124500"第一个MessageBox弹出来的值是正确的,可第二个弹出来的却是"-691115116/-691115116/-691115116",我一直没有弄明白为什么会浴出,请各位高手指点一下
...全文
124 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lenux 2006-11-09
  • 打赏
  • 举报
回复
_ftscanf( g_fp, _T("%s"), csTemp);
上面语句改为
TCHAR cTemp[MAX_PATH];
_ftscanf( g_fp, _T("%s"), cTemp);
csTemp = cTemp;
就可以了。
南安风语者 2006-11-06
  • 打赏
  • 举报
回复
怎么还没有人回答呀
南安风语者 2006-11-03
  • 打赏
  • 举报
回复
我试了一下在AfxMessageBox( csTemp);下面加了下面的话
CString csTest;
csTest = csTemp.Left( 4));
AfxMessageBox( csTest);
结果弹出来的还是"20061103124500"

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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