随笔 - 192,  文章 - 0,  评论 - 2,  阅读 - 25万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

一、建立 名为dialogAndCtl的MFC工程,并添加如图控件

1、将上方static text 控件 Caption属性设置为在文本框中如数文本,可以统计字符

2、edit control控件属性 参照下图顺序设置,并将ID属性设置为IDC_EDIT_INPUT

3、设置button控件 Caption属性 为统计,ID属性为IDC_BTN_COUNT

4、设置下方static text 控件ID属性为IDC_STATIC_OUTPUT

二、双击button控件进入dialogAndCtlDlg.cpp文件添加

复制代码
void CdialogAndCtlDlg::OnBnClickedBtnCount()
{
    // TODO: 在此添加控件通知处理程序代码
    CString strInput;                                                //定义一个mfc中字符串变量,用来保存输入的数据
    GetDlgItemText(IDC_EDIT_INPUT,strInput);                        //获取文本框中的输入
    int nLen= strInput.GetLength();                                    //计算文本框中字符个数
    
    int nCount=0;                                                    //for 中用于解决unicode字符集和多字节字符集显示不一致问题
    for(int i=0; i<nLen;i++)
    {
        if((BYTE)strInput[i]>0x7f) //一个中文=两个英文字符
        {
            ++i; //略过
        }
        nCount++;
    }

    CString strOutput;                                                //定义一个mfc中字符串变量,用来保存输出的数据
    strOutput.Format(_T("字符串长度: %d,字符个数:%d"),nLen,nLen);//显示输出文本长度
    SetDlgItemText(IDC_STATIC_OUTPUT,strOutput);                    //通过静态文本显示出来
}
复制代码

三、以上方法可以统计出文本框输入字符个数,如需验证可参考下图修改顺序,修改字符集来验证。

 

posted on   Malphite  阅读(761)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示