请问VC6.0怎么将CString的14个数字字符转换成int型??? CString strtmp = "20120426153853"int aa = atoi(strtmp); //溢出了……请问VC6.0有转换大整数的API吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接这样转: CString strtmp= "20120426153853";__int64 a = _atoi64(strtmp); 用了 还是 会溢出???然道 是我排序有问题吗? CString tmp; CStringArray saTMP; saTMP.Add( "20120201999999" ); saTMP.Add( "20120306999999" ); saTMP.Add( "20120111999999" ); saTMP.Add( "20120825999999" ); saTMP.Add( "20130207999999" ); saTMP.Add( "20110331999999" ); for(int i=0; i<saTMP.GetSize(); i++) { tmp += saTMP.GetAt(i) + "\r\n" ; } AfxMessageBox("A:" + tmp); QuickSort( saTMP, 0, saTMP.GetSize()-1 ); tmp.Empty(); for(i=0; i<saTMP.GetSize(); i++) { tmp += saTMP.GetAt(i) + "\r\n" ; } AfxMessageBox("B:" + tmp);void QuickSort( CStringArray &satime, __int64 Left, __int64 Right ){ CString strTmp; __int64 i,j,s; if( Left < Right ) { s = _atoi64(satime[Left]); i = Left; j = Right + 1; while (1) { while( i+1 < satime.GetSize() && _atoi64(satime[++i]) < s ); while( j-1 > -1 && _atoi64(satime[--j]) > s ); if( i >= j ) break; strTmp = satime[i]; satime[i] = satime[j]; satime[j] = strTmp; } satime[Left] = satime[j]; strTmp.Format("%d", s); satime[j] = strTmp; QuickSort( satime, Left, j-1 ); QuickSort( satime, j+1, Right ); }} int、long、unsigned long等之类存不了这么大的基础数据. strTmp.Format("%d", s); 是这个%d的问题吗??? LZ 要用__int64 aa这个定义啊 我那个排序里有这一句:strTmp.Format("%d", s); 是这个%d的问题吗??? 用strTmp.Format"%I64d", s); 试下 函数指针做参数问题 如何获得当前登录用户的session id? 如何在CHtmlview里响应FLASH被点击事件? 求助!! ListControl插入多条记录的问题 关于access97数据库 数据库应用的设计问题 关于输入焦点的问题。多谢各位高手! 菜鸟求助 大神请进,MFC下,大数据写入CRichEdit控件时,光标指针一直处于忙状态,如何破? vc遍历记录集不进去执行取数据 重返CSDN
CString strtmp= "20120426153853";
__int64 a = _atoi64(strtmp);
用了 还是 会溢出???
然道 是我排序有问题吗? CString tmp;
CStringArray saTMP;
saTMP.Add( "20120201999999" );
saTMP.Add( "20120306999999" );
saTMP.Add( "20120111999999" );
saTMP.Add( "20120825999999" );
saTMP.Add( "20130207999999" );
saTMP.Add( "20110331999999" ); for(int i=0; i<saTMP.GetSize(); i++)
{
tmp += saTMP.GetAt(i) + "\r\n" ;
} AfxMessageBox("A:" + tmp); QuickSort( saTMP, 0, saTMP.GetSize()-1 ); tmp.Empty();
for(i=0; i<saTMP.GetSize(); i++)
{
tmp += saTMP.GetAt(i) + "\r\n" ;
} AfxMessageBox("B:" + tmp);void QuickSort( CStringArray &satime, __int64 Left, __int64 Right )
{
CString strTmp;
__int64 i,j,s;
if( Left < Right )
{
s = _atoi64(satime[Left]);
i = Left;
j = Right + 1; while (1)
{
while( i+1 < satime.GetSize() && _atoi64(satime[++i]) < s ); while( j-1 > -1 && _atoi64(satime[--j]) > s ); if( i >= j )
break; strTmp = satime[i];
satime[i] = satime[j];
satime[j] = strTmp;
} satime[Left] = satime[j];
strTmp.Format("%d", s);
satime[j] = strTmp;
QuickSort( satime, Left, j-1 );
QuickSort( satime, j+1, Right );
}
}
我那个排序里有这一句:
strTmp.Format("%d", s);
是这个%d的问题吗???