[MFC][CEdit][基本函数]CEdit::GetLine与CEdit::LineIndex

CEdit::GetLine 在Win7上返回字符串乱码问题的解决方案 CEdit::GetLine (MFC, VC++6) returns extra characters in Windows 最近在帮公司一个小孩看一个很奇怪的bug,是MFC 的一个小GUI,在客户环境上一个输入框中的数据总是有乱码,导致从数据库中查不出数据。但是奇怪的是在我们环境上重现不了,因为我们的测试环境用的是Win XP, 客户环境上用的是Win7(我们一开始就没想到过跟不同的操作系统有关)。最开始我们都是怀疑是code在转换UTF8的时候出的错,可是根据给客户的debug版本否定了我们这种猜测,因为我们发现在 阅读详情

GetLine:从编辑控件中检取一行文本。没有文本,返回拷贝的字节数。如果nIndex参数指定的行号大于编辑控件中的参数,返回0。nIndex指定要从控件中检取的行号,为0,指定第一行。   

CEdit::GetLine

int GetLine( int nIndex, LPTSTR lpszBuffer ) const;

int GetLine( int nIndex, LPTSTR lpszBuffer, int nMaxLength ) const;

Return Value

The number of bytes actually copied. The return value is 0 if the line number specified by nIndex is greater then the number of lines in the edit control.

Parameters

nIndex

Specifies the line number to retrieve from a multiple-line edit control. Line numbers are zero-based; a value of 0 specifies the first line. This parameter is ignored by a single-line edit control.

lpszBuffer

Points to the buffer that receives a copy of the line. The first word of the buffer must specify the maximum number of bytes that can be copied to the buffer.

nMaxLength

Specifies the maximum number of bytes that can be copied to the buffer. GetLine places this value in the first word of lpszBuffer before making the call to Windows.  

 

  
LineIndex:检取多行控件中某一行的字符下标。如果指定行号大于编辑控件中的行数,返回-1。参数nLine表示行在编辑控件文本中的下标值或-1。为-1,指定当前行,即包含插入符的行。多行时返回指定(当前)行的字符序号 只用于多行时

 

索引从0开始

CEdit::LineIndex

int LineIndex( int nLine = -1 ) const;

Return Value

The character index of the line specified in nLine or –1 if the specified line number is greater then the number of lines in the edit control.

Parameters

nLine

Contains the index value for the desired line in the text of the edit control, or contains –1. If nLine is –1, it specifies the current line, that is, the line that contains the caret.

Remarks

Call this function to retrieve the character index of a line within a multiple-line edit control. The character index is the number of characters from the beginning of the edit control to the specified line.

This member function is only processed by multiple-line edit controls.

 

CEdit默认最大显示字符数是30000,可以使用SetLimitText 进行设置

 

ifstream和getline读取文件 立即下载

相关推荐

ArcGIS基于DEM提取微流域单元(附练习数据下载)

流域作为一个相对独立的地理单元,与行政区的划分有着本质上的区别。流域的划分更注重自然因素,流域作为一个综合的自然整体,在其内部形成了一个天然的物质与能量流动的场所,并通过水流的作用,与周围的区域进行物质和能量的交换。流域的精确划分作为一个研究的基础工作,那么接下来给大家说一下利用DEM提取小流域的案例教程——以贵州省遵义市正安县为例。 1 数据获取 地理空间数据云(http://www.gscloud.cn/),数据分辨率为30m。也可直接点击这篇直接下载→全国30m90mDEM下载。 若想要获得更高精度.

qq_43173805的博客 4836

MFC中CEdit多行情况下,调用GetLine()时,发现老是后面跟有乱码

MFC中CEdit多行情况下,调用GetLine()时,发现老是后面跟有乱码。即使你把str初始化也是如此。 对于采用GetLine()调用,其函数说明有2种。1.int GetLine( int nIndex, LPTSTR lpszBuffer ) const; 2.int GetLine( int nIndex, LPTSTR ...

weixin_34205826的博客 548

RK3588 EVB开发板原理图讲解【六】

该原理图展示了eMMC Flash与主控芯片之间的连接关系,以及相关的电源、信号线路和去耦电容等。

weixin_48721556的博客 1179

CEdit换行和GetLine乱码

CEdit换行和GetLine乱码 CEdit换行: 继承自CEdit的类中处理PreTranslateMessage可换行,类似于: BOOL CNewEdit::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { if (pMsg->wParam == VK_RETURN)

yangyang031213的博客 892

Unity3D实战:5分钟搞定RTSP监控视频流播放(附完整代码)

本文详细介绍了如何在Unity3D中快速实现低延迟RTSP监控视频流播放,提供完整代码和优化方案。通过Video Player组件和FFmpeg集成,开发者可以轻松应对智能家居和安防监控领域的实时视频流挑战,显著降低延迟并提升性能。

weixin_29015051的博客 590

STM32Cubemx-H7-17-麦克纳姆轮驱动

我们先看.h,知道哪些函数会有哪些功能和宏定义参数首先 是在.h的宏定义处定义引脚编号,比如tb6612控制方向的引脚,以及设定了哪个定时器作为pwm输出,还有编码计次的中断引脚/* 硬件相关宏定义 *//*1 前进方向往上 42 3*/// TB6612 方向引脚定义/* 定时器相关宏定义 *//* 编码器相关宏定义 */把自己的引脚根据原理图填对应,方向引脚也是,如果发现反转就把对应的引脚定义反过来,编码也是,编码我们用一个引脚就好,都在cubemx配置好。

m0_74211379的博客 1423

MFC学习笔记--案例

案例创建 创建 单个文档,MFC标准; 不使用传统停靠工具栏; 注意: 微软在vs2013中不建议使用c/c++传统函数:scanf,strcpy,sprintf等,所以直接使用这些库函数会提示c4996错误。 vs建议使用_s的函数,如scanf_s、strcpy_s,这些不是标准的c/c++函数,需要添加预定义**_CRT_SECURE_NO_WARNINGS** 项目–> 属性→c/c++→预处理器→预处理器定中添加_CRT_SECURE_NO_WARNINGS ...

watson_pillow的博客 773

国科大学习资料--人工智能原理与算法-第六次作业解析(学长整理)

国科大学习资料–人工智能原理与算法-第六次作业解析(张文生老师主讲)(6.6、6.7、6.11) 6.6 说明如何通过使用辅助变量把诸如A+B=C这样的三元约束转变成三个二元约束。假设值域是有限的。(提示:考虑引进新变量表示变量对的值,引进约束如“X是Y变量对中的第一个元素”。)然后说明如何把多于三个变量的约束类似地转换为二元约束。说明如何通过改变变量的值域来消除一元约束。这就完整演示了任何CSP都可以转变为只含二元约束的CSP。 答:首先,我们引入一个新变量AB,假设A和B的范围均为N,AB的范围为N×N

无名何许人的博客 2872

在MFC中,iftream文件使用getline函数读取一行,出现空值

#include<iostream> #include<fstream> using namespace std; ifstream readFile; readFile.open("data.txt", ios::in); // 在vc6中的MFC工程中,需要定义成ios::in readFile.open("data.txt",, ios::app);在decv中,cpp文件 string str,temp; while(getline(readFile,str)) .

cbzhunian 617

Android CCodec (十一) Codec2Buffer BufferPool分析

1、序言 2、C2BlockPool分析 3、SimpleC2Component关于BlockingBlockPool的实现 4、总结

给大佬递杯卡布奇诺的博客 4024

一条 POST 创建整棵业务对象树,SAP Gateway Deep Create 的运行机制与 ABAP 实现

SAPUI5 的 OData V2 Model 支持 Deep Create,可以为一个新建的 transient parent context 创建 Navigation Property 下的 subentity,并把这些子实体的数据合并进 Root Entity 对应的 OData 请求 Payload。销售组织是否合法,客户是否允许下单,物料是否存在,销售区域是否匹配,计量单位是否正确,项目类别如何确定,定价是否成功,合作伙伴如何派生,交货工厂如何确定,这些都可能在一次创建过程中被触发。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 148

[MFC]CEdit获取一行的文字

 CEdit的接口LineLength(nCharIndex) 的参数并不是指CEdit的第几行,需要通过函数LineIndex来进行转换。int nIndex = 4 ; //假设要获取CEdit的第4行的文字int nCharIndex = nCharIndex = this->LineIndex(nIndex) ;int nlen = this->LineLength(nCharIn

riag的专栏 4629

20_文件系统的制作 -JFFS2

JFFS2 文件系统是通过工具 mkfs.jffs2 将文件系统目录制成映像文件。制作工具mkfs.jffs2 需要编译 zhb 库和 mtd-utils,下面详细介绍其制作过程

Leon的博客 549

MFC中CEdit多行情况下,调用GetLine()时,发现老是后面跟有乱码【转载】

<br />MFC中CEdit多行情况下,调用GetLine()时,发现老是后面跟有乱码。即使你把str初始化也是如此。 对于采用GetLine()调用,其函数说明有2种。 1.int GetLine( int nIndex, LPTSTR lpszBuffer ) const; 2.int GetLine( int nIndex, LPTSTR lpszBuffer, int nMaxLength ) const;  代码如下:   char str[1

马大叔的工作日记 4425

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MFC中CEdit判断空行

MFC中CEdit多行情况下,调用GetLine()时,发现老是后面跟有乱码。即使你把str初始化也是如此。 对于采用GetLine()调用,其函数说明有2种。 1.int GetLine( int nIndex, LPTSTR lpszBuffer ) const; 2.int GetLine( int nIndex, LPTSTR lpszBuffer, i

jacksonfan的专栏 985

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

About CEdit::LineLength

以前想获取edit ctrl中的每一行的字符串内容,发现MSDN上如下的代码: #ifdef _DEBUG // The pointer to my edit. extern CEdit* pmyEdit; int i, nLineCount = pmyEdit->GetLineCount(); CString strText, strLine; //...

dianchuoyong3677的博客 118

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VS2010-MFC(常用控件:编辑框Edit Control)

转自:http://www.jizhuomi.com/software/181.html 编辑框(Edit Control)是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。 编辑框的通知消息 编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编...

dgc70876的博客 1532

CRichEditCtrl 与 CEdit 不同之处

我原来的代码是使用的 CEdit ,可是 后来为了能够在不同的行显示不同的颜色,使用了 CRichEditCtrl 这两个控件的函数和使用方法有很多相似之处,那么我就直接将老代码复制过来用了。 那么,问题来了。      RichEdit  控件表现得“不正常” 1,发现行数不对。 GetLineCount() 在没有任何数据时,也会返回1 2,发现获得的数据也不对。 GetLine(

705

MFC编辑框使用方法

原文地址:http://www.jizhuomi.com/software/181.html  鸡啄米上一节讲了静态文本框,本节要讲的编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。        编辑框的通知消息        编辑框发生某些事件时会向父窗口

hnyzyty的专栏 9934

CEdit获取一行的文字

CEdit的接口LineLength(nCharIndex) 的参数并不是指CEdit的第几行,需要通过函数LineIndex来进行转换。 [cpp] view plaincopy int nIndex = 4 ; //假设要获取CEdit的第4行的文字   int nCharIndex = nCharIndex = this->LineI

望都者 1955

CEdit获取编辑框的内容

CEdit获取编辑框的内容 大家对获取编辑框的内容可能已经很熟悉了,无非是先定义一个CString类型的变量m_str,然后调用GetDlgItem(编辑框ID)->GetWindowText(str),这样就可以轻松获取到编辑框的内容。但如果我要设置此编辑框为只读模式,要求我们获取编辑框的内容,那该怎么办呢? 我们知道,ReadOnly是CEdit的成员变量,显然定义CString类型的变量

LDL 728

C++ MFC / VS2013 之十九(常用控件:编辑框Edit Control)

编辑框Edit Control      本节要讲的编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。 一. 编辑框的通知消息      编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编辑框上点右键,选择“Add Event Handler”,为编辑框添

zjl-wgf 2万+

VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)

鸡啄米上一节讲了静态文本框,本节要讲的编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。 编辑框的通知消息 编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编辑框上点右键,选择“Add Event Handler”,为编辑框添加消息处...

weixin_30588907的博客 184

VC++中的通知消息

编辑框在发生某些事件的时候会向父窗口发送通知消息,我们可以为编辑框添加消息处理函数,现在我们看看编辑框部分消息通知函数:        EN_CHANGE:编辑框的内容被用户改变了,与EN_UPDATE 不同,该消息是在编辑框显示的正文被刷新后才发出的        EN_ERRSPACE: 编辑框控件无法申请足够的动态内存来满足需要        EN_HSCROLL: 用户在水平滚动条上

datouniao1的博客 821

Edit Control 编辑框控件

编辑框的通知消息, 编辑框的创建,CEdit类的主要成员函数,CEdit类应用实例

u010299768的博客 515
下一篇: [MFC][基本函数]StringCchPrintf()使用相关
hicoder
博客等级 码龄16年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值