一个文本框内,输入11,12,13-19,20,这10个数,意思也就是11,12,13一直到20,一共是10个数,-的意思就是从多少到多少页,单击一个OK按钮,之后自动算出有多少个数,不是总和,不知道明白没明白意思,就是一个计算器的东西,只算加法的,或者说1,2-100,这就是100个数,算个数的,单击OK如何算出这是100个数。只求具体点的步骤高手帮忙做下程序,并简单说明下,鄙人菜鸟,希望有好心人士帮忙下,逗号与“-”都类似隔点,如果:我输入了1和2-3,(这是3个),单击OK了,给出个MessageBox(“3”),希望有高手能帮忙。
解决方案 »
- CMFCToolBar::InsertButton 链接时报错!
- 请mwy654321进来
- 新手求助
- CFile类没有读取一行的函数吗?
- 总结:延时处理
- (急)另一个关于获得View指针的问题.先谢了!
- 请问,如何判断一个IP地址的格式?
- 侯捷翻译的《C++ Primer 中文版》这本书怎么样?是简体的还是繁体的。
- CTime CStartTime = CTime::GetCurrentTime(); 这个CStartTime减去一年是怎样操作呀?
- 用Picture控件做对话框的背景图片,如何让图片放满对话框的客户区?
- 如果我的DOS客户机已经与NOVELL服务器连接了,怎么让他们传命令?
- 求高手帮忙
{
CString MyStr;
int count=0; //定义计数器
GetDlgItem(IDC_EDIT1)->GetWindowText(&MyStr);//取的ID为IDC_EDIT1的文本
int len=MyStr.GetLength();//取得该文本的长度,即字符个数
for(int i=0;i<len;i++)
{
ch=MyStr.GetAt(i);
if((ch==',')||(ch=='-'))
count++; //如果发现有','或者'-',计数加1
} CString temp;
temp.Format("%d",count); //将计量的数据转换成信息输出
MessageBox(temp);
}
{
CString MyStr;
int count=0; //定义计数器
GetDlgItem(IDC_EDIT1)->GetWindowText(&MyStr);//取的ID为IDC_EDIT1的文本
int len=MyStr.GetLength();//取得该文本的长度,即字符个数
for(int i=0;i<len;i++)
{
ch=MyStr.GetAt(i);
if((ch==',')||(ch=='-'))
count++; //如果发现有','或者'-',计数加1
} CString temp;
temp.Format("%d",count); //将计量的数据转换成信息输出
MessageBox(temp);
}
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(&str);
int iLength = str.GetLength();
char c;
int iCurrent = 0;
int iTotal = 0; //总数
bool bIsNum = 0;
while(iCurrent < iLength)
{
c = str.GetAt(iCurrent ++);
switch(c)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if(!bIsNum)
{
iTotal ++;
bIsNum = 1;
}
break;
default:
if(bIsNum)
{
bIsNum = 0;
}
break;
}
}
编译通不过,两位的都是这样。
你连这问题都搞不明白,那你给1000分都帮不了你
error C2664: 'void __thiscall CWnd::GetWindowTextA(class CString &) const' : cannot convert parameter 1 from 'class CString *' to 'class CString &'
#define MAX_BUFFER 512
TCHAR szText[MAX_BUFFER] = {0};
GetDlgItemText(IDC_EDIT1, szText, MAX_BUFFER-1);
TCHAR* seps = _T(" ,");
TCHAR* subs = _T("-");
TCHAR* token = 0;
int nCount = 0;
token = _tcstok(szText, seps);
while(NULL != token)
{
TCHAR* szTmp = _tcschr(token, _T('-'));
if(NULL != szTmp)
{
*szTmp = _T('\0');
int start = _ttoi(token);
int end = _ttoi(++szTmp);
nCount += end - start + 1;
}
else
{
++nCount;
}
token = _tcstok(NULL, seps);
}
_stprintf(szText, _T("%d"), nCount);
AfxMessageBox(szText);
万分感谢您。