barriers / 阅读 / 详情

qtgraphitemtext换行

2023-07-13 21:12:50
共1条回复
黑桃云
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
文件读写是许多应用程序的功能,甚至某些应用程序都是围绕处理某种格式的文件开发的,因此文件读写是应用程序开发的基本功能.

文本文件是以纯文本格式存储的文件,例如Qt Creator中编写的C ++程序的头文件(上部文件)和源程序文件(.cpp文件). HTML和XML文件也是纯文本文件,但是需要在读取后进行解析和显示.

Qt提供了两种用于读取和写入纯文本文件的基本方法: 使用QFile类的IODevice读取和写入功能直接读取和写入,使用QFile和QTextStream组合并使用Stream方法读取和写入文件.

示例samp7_1演示了这两种读取和写入文本文件的方法,其运行时窗口如图1所示. 该示例不仅演示了如何打开文本文件,而且还具有文件保存功能.

图1示例samp7_1的运行时窗口

QFile读取和写入文本文件. QFile类是直接与IO设备处理读写文件的类. 使用QFile,您可以直接打开或保存文本文件.

图1工具栏上的“ QFile直接打开”按钮直接打开带有QFile类功能的文本文件. 按钮槽功能及相关功能代码如下:

void MainWindow::on_actOpen_IODevice_triggered()

{//打开文件

QString curPath=QDir::currentPath();//获取系统当前目录

QString dlgTitle="打开一个文件"; //对话框标题

QString filter="程序文件(*.h *.cpp);;文本文件(*.txt);;所有文件(*.*)"; //文件过滤器

QString aFileName=QFileDialog::getOpenFileName(this,dlgTitle,curPath,filter);

if (aFileName.isEmpty())

return;

openTextByIODevice(aFileName);

}

bool MainWindow::openTextByIODevice(const QString &aFileName)

{//用IODevice方式打开文本文件

QFile aFile(aFileName);

if (!aFile.exists()) //文件不存在

return false;

if (!aFile.open(QIODevice::ReadOnly | QIODevice::Text))

return false;

ui->textEditDevice->setPlainText(aFile.readAll());

aFile.close();

ui->tabWidget->setCurrentIndex(0);

return true;

}

自定义函数openTextByIODevice()实现打开文本文件的功能. 定义QFile对象变量aFile时,将文件名传递给它. 检查文件是否存在后,使用open()函数打开文件.

QFile :: open()函数需要传递QIODevice :: OpenModeFlag枚举类型参数以打开文件,以确定如何打开文件. QIODevice :: OpenModeFlag类型的主要值如下:

这些值可以合并,例如QIODevice :: ReadOnly | QIODevice :: Text表示以只读和文本模式打开文件.

只读取一条语句,即可读取文件的所有内容并将其设置为QPlaintextEdit组件的内容:

ui-> textEditDevice-> setPlainText(aFile.readAll());

读取文件内容后file读写文件,您需要调用QFile :: close()函数关闭文件.

图1工具栏上的“ QFile保存”按钮使用QFile类的功能将文本保存在QPlaintextEdit组件中作为文本文件,实现代码如下:

void MainWindow::on_actSave_IODevice_triggered()

{

QString curPath=QDir::currentPath();//获取系统当前目录

QString dlgTitle="另存为一个文件"; //对话框标题

QString filter="h文件(*.h);;c++文件(*.cpp);;文本文件(*.txt);;所有文件(*.*)"; //文件过滤器

QString aFileName=QFileDialog::getSaveFileName(this,dlgTitle,curPath,filter);

if (aFileName.isEmpty())

return;

saveTextByIODevice(aFileName);

}

bool MainWindow::saveTextByIODevice(const QString &aFileName)

{ //用IODevice方式保存文本文件

QFile aFile(aFileName);

//aFile.setFileName(aFileName);

if (!aFile.open(QIODevice::WriteOnly | QIODevice::Text))

return false;

QString str=ui->textEditDevice->toPlainText();//整个内容作为字符串

QByteArray strBytes=str.toUtf8();//转换为字节数组

//QByteArray strBytes=str.toLocal8Bit();

aFile.write(strBytes,strBytes.length()); //写入文件

aFile.close();

ui->tabWidget->setCurrentIndex(0);

return true;

}

自定义函数saveTextByIODevice()实现文件保存功能. 为了保存文件,使用open()打开文件时,使用的模式为QIODevice :: WriteOnly | QIODevice :: Text. 使用WriteOnly意味着Truncate,它将删除文件的原始内容.

首先将QPlaintextEdit组件textEditDevice的文本导出为字符串,将QString类的toUtf8()函数转换为UTF8编码的字节数组strBytes,然后调用QFile :: write()函数来写入内容. 字节数组文件.

结合QFile和QTextStream读写文本文件QTextStream和IO读写设备为数据读写提供了一些便捷的方法. QTextStream可以与IO设备类(例如QFile,QTemporaryFile,QBuffer,QTcpSocket和QUdpSocket)结合使用.

在此示例中file读写文件,通过组合QFile和QTextStream读取文本文件的自定义函数openTextByStream()的代码如下:

bool MainWindow::openTextByStream(const QString &aFileName)

{ //用 QTextStream打开文本文件

QFile aFile(aFileName);

if (!aFile.exists()) //文件不存在

return false;

if (!aFile.open(QIODevice::ReadOnly | QIODevice::Text))

return false;

QTextStream aStream(&aFile); //用文本流读取文件

ui->textEditStream->setPlainText(aStream.readAll());

aFile.close();//关闭文件

ui->tabWidget->setCurrentIndex(1);

return true;

}

在创建QTextStream实例时传递QFile对象,以便将QFile对象和QTextStream对象组合在一起,并且可以使用QTextStream读写文件. 如果文本文件中包含中文字符,则需要将其设置为自动识别Unicode代码,即调用setAutoDetectUnicode(tme)函数.

在此代码中,使用QTextStream :: readAll()函数一次读取文件的整个文本内容. 但是QTextStream还提供了其他一些方便的接口功能,例如使用QTextStream轻松地逐行读取文本文件内容. 对openTextByStream()函数的内容进行了一些修改,使其可以逐行读取文件内容,适用于需要逐行分析字符串内容的应用程序.

bool MainWindow::openTextByStream(const QString &aFileName)

{ //用 QTextStream打开文本文件

QFile aFile(aFileName);

if (!aFile.exists()) //文件不存在

return false;

if (!aFile.open(QIODevice::ReadOnly | QIODevice::Text))

return false;

QTextStream aStream(&aFile); //用文本流读取文件

aStream.setAutoDetectUnicode(true); //自动检测Unicode,才能正常显示文档内的汉字

ui->textEditStream->setPlainText(aStream.readAll());

ui->textEditStream->clear();//清空

while (!aStream.atEnd())

{

str=aStream.readLine();//读取文件的一行

ui->textEditStream->appendPlainText(str); //添加到文本框显示

}

aFile.close();//关闭文件

ui->tabWidget->setCurrentIndex(1);

return true;

}

QTextStream :: readLine()函数通过自动识别换行符来读取一行字符串. saveTextByStream()用于使用QTextStream保存文件的自定义函数,代码如下:

bool MainWindow::saveTextByStream(const QString &aFileName)

{//用QTextStream保存文本文件

QFile aFile(aFileName);

if (!aFile.open(QIODevice::WriteOnly | QIODevice::Text))

return false;

QTextStream aStream(&aFile); //用文本流读取文件

QString str=ui->textEditStream->toPlainText(); //转换为字符串

aStream<

aFile.close();//关闭文件

return true;

}

由于在写入文件时直接使用流的写入操作,因此使用QTextStream进行文件读取和写入更为方便.

解决中文乱码问题. 使用QTextStream读写具有中文内容的文本文件时,为了正确识别Unicode代码,您需要调用setAutoDetectUnicode(true). 设置QTextStream以自动识别Unicode代码. 如果您不进行此设置,请阅读中文以获取文件将出现乱码,无法正常显示.

为了解决Unicode识别问题,可以在应用程序中进行全局设置,以便应用程序支持Unicode. 该方法是在main()函数中使用QTextCodec类来设置编码.

例如,本示例的main()函数如下:

int main(int argc, char *argv[])

{//解决汉字乱码问题

QTextCodec *codec = QTextCodec::codecForName("UTF-8");

QTextCodec::setCodecForLocale(codec);

QApplication a(argc, argv);

MainWindow w;

w.show();

return a.exec();

}

UTF-8编在main()函数前面添加了两行,并设置为应用程序使用的编,因此应用程序中支持Unicode代码. 在以前的openTextByStream()函数中,即使没有setAutoDetectUnicode(true),中文字符也可以正常显示.

本文来自电脑杂谈,转载请注明本文网址:

http://www.p****.com/a/jisuanjixue/article-275189-1.html

qt写文本文件换行符
你想要的平板电脑这里都有,型号齐全,价格优惠!
精选推荐
广告

Python入门之路(15)
91阅读·0评论·0点赞
2020年9月8日
前端报错404
9826阅读·0评论·2点赞
2021年12月28日
Qt——“ “回车换行符在Linguist里不奏效(无效果)?
409阅读·0评论·1点赞
2022年10月28日
前端部署nginx刷新后404,解决Nginx刷新页面后404的问题
1.0W阅读·0评论·6点赞
2022年6月21日
python write( )函数
1.7W阅读·0评论·2点赞
2020年10月7日
Python txt文件操作
223阅读·0评论·0点赞
2020年1月11日
空气炸锅前十品牌

精选推荐
广告
QT 字符换行
3041阅读·2评论·0点赞
2021年2月22日
Python函数,总体规划学习
443阅读·0评论·0点赞
2020年9月8日
python中write什么意思_Python中操作文件之write()方法的使用教程
379阅读·0评论·0点赞
2020年11月28日
python中writelines的参数_详解详解Python中writelines()方法的使用
2778阅读·0评论·0点赞
2021年1月29日
的write方法有哪些参数_【Python小技巧】外部传参的几种方法总结
724阅读·0评论·1点赞
2021年1月14日
Python 文件和异常处理
1266阅读·0评论·0点赞
2022年4月30日
python write()参数_write()参数必须是str,而不是bytes
1358阅读·0评论·0点赞
2020年12月16日
qt写文本文件换行符_Qt向文本文件输出换行
2848阅读·0评论·1点赞
2021年1月17日
Qt向文本文件输出换行
2.7W阅读·5评论·9点赞
2014年2月18日
第9.10节 Python中IO模块其他文件操作属性和方法简介
1225阅读·0评论·3点赞
2019年8月1日
python txt文件常用读写操作
3772阅读·0评论·2点赞
2022年2月10日
Qt中连接两个字符串,并在其中添加换行符
4407阅读·0评论·3点赞
2021年3月29日
write函数的第三个参数(sizeof和strlen的区别)
1152阅读·0评论·3点赞
2020年6月2日
去首页
看看更多热门内容

相关推荐

plain text用什么打开

plain text打开方法是:PLAIN文件是可以由任何文本编辑器打开的,因为PLAIN 文本文件它包含没有特殊格式的PLAIN文本。PLAIN 文件可用于多种目的,例如:存储文档的PLAIN 文本版本、HTML格式的电子邮件副本或企业收据。并且如果您收到一个PLAIN 文件,您可以使用任意数量的免费文本编辑器打开该文件。记事本和写字板与Windows捆绑在一起,而TextEdit则与macOS捆绑在一起。注意:您可以将PLAIN 扩展名更改为“.txt”使其成为一个TXT 文件。读写plain text的方法是:读写plain text文件,简单理解就是纯文本文件,经过字符编码形成的文档,用一些文本编辑器如UE、记事本可以打开的文件。区别于一些有特定结构的文件,比如word文档、Excel文件、图片文件等等,他们必须借助专门的软件才能打开,没有任何可读性的二进制编码文件。大家日常其实非常多的时间是与文本打交道的,比如设备配置、各类日志。一般是用一些ue全局搜索,有时候这些工作特别枯燥、重复。我们今天就来讲讲如何用python来处理文本文件,结合函数和字符串的一些操作。可以普适到系统运维工作,或者其他工作领域。
2023-07-13 20:51:361

mp3显示为plaintext

mp3显示为plaintext意思是MP3现在是纯文本。解决方法:1、打开选择Tools、Options、Language、简体中文、点击OK就可以退出纯文本了。2、PlainText一词可以翻译为纯文本,指的是用二进制编码表示字符的一种只包含文本信息的文件。
2023-07-13 20:51:491

HTML和Plain Text的区别

前者支持HTML语法 后者是纯文本 也就是说前者可以把邮件弄成网页一样 可以添加链接 图片 动画 框架等等 后者就是个记事本要说好处 前者好看啊 还能插入多媒体资料 但需要接收方同样支持HTML 否则就会看到一堆代码 并且代码越多 邮件自然也就越大
2023-07-13 20:51:592

ieee参考文献格式是plaintext吗?

是。IEEE参考文献格式plaintext是一种常用的学术写作参考文献格式,它属于数学、计算机科学等工程学科领域通用的参考文献格式之一。
2023-07-13 20:52:111

plain text cover letter

清楚文本封面信
2023-07-13 20:52:194

HTML中的 是干什么的?

plaintext标签不符合标准网页设计的理念,不赞成使用plaintext标签是单独出现的,<plaintext>plaintext标签的所有内容,将按照HTML源代码的方式显示style="display:none"style是规定元素的样式,后面的display:none是他的值;display是规定元素生成框的类型(可以理解为显示方式),后面的none是他的值,意思是不显示。总的来说,这段代码,会导致他后面的所有内容都不显示。
2023-07-13 20:52:261

我已经将outlook邮件格式已经设置成html,为什么发出去的邮件还是plain text格式的?

这种情况可能是对方的邮件容户端软件或接收服务器的问题。
2023-07-13 20:52:342

sublime text 3总是默认plain text怎么改成Python默认

我想问一下 你的问题解决了吗 我的也是这样
2023-07-13 20:52:433

怎么分开plain text和textview

1、text/html是html格式的正文 2、text/plain是无格式正文 3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码 4、application/xml会根据xml头指定的编码格式来编码: 建议你去查以下MIME的类型!
2023-07-13 20:52:522

text/plain 与 text/xml有什么区别

text/plain 与 text/xml的区别如下:1、text/html是html格式的正文 2、text/plain是无格式正文3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码4、application/xml会根据xml头指定的编码格式来编码:MIME是服务器通知客户机传送文件是什么类型的主要方法,客户机浏览器也通过MIME告诉服务器它的参数。在网上,如果接收到的文件没有MIME头,就默认它为HTML格式。但这样也不好,因为当MIME的包头是text/plain时,浏览器将直接显示而不关心它的什么字体,颜色之类的参数
2023-07-13 20:53:013

QT中LineEdit TextEdit PlainTextEdit 这三个控件有什么区别,分别用在什么情况下呢。

QLineEdit是单行文本输入,一般用于用户名、密码等少量文本交互地方。QTextEdit用于多行文本,也可以显示HTML格式文本。QPlainTextEdit与QTextEdit很像,但它多用于需要与文本进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextEdit对于plain text处理能力比QTextEdit强。
2023-07-13 20:53:221

text/html与text/plain有什么区别

text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。
2023-07-13 20:53:361

word2003版中怎么convert to plain text

Convert Citations and Bibliography 即转换引文及参考文献(的格式),你注意看后面还会有个下拉小箭头,点开之后就是 convert to plain text / convert to unformatted citations 以及 Converting Word 2007 Citations to EndNote 这样三个选项.原来的引文(就是正文里做的标注)和最后面的参考文献之间是通过域代码关联在一起的,比如不同的地方引用同一文献,引文可以有多个但最后的参考文献只有一个;再比如在原来的基础上再添加一些参考文献,引文的序号以及参考文献的顺序都会自动改变,这就是域的作用.但是有时候也需要把域代码去掉,不然参考文献中临时的一些格式修改会自动刷新成endnote中对应style的格式,等等.要去掉域代码,不让引文跟参考文献关联,就需要用到onvert Citations and Bibliography这个功能.注意转换会在一个新文档里进行,需要保存,原有的文档保持不变.
2023-07-13 20:53:501

密码学基础之对称加密(一)

就不给定义了,我简单解释下,就是我的信息不想让别人知道,使用 秘钥(key) 对我的信息进行 加密(encrypt) ,变成鬼符一样的 秘文(ciphertext) 。别人就算看到了,也无法识别,只有有了秘钥,把秘文 解密(decrypt) 后才能看懂信息,秘钥呢?一般人我不告诉他。我的秘钥是私密信息,所以也叫 私钥(private key) ,加密和解密用的秘钥是相同的,所以叫 “对称加密” ,也叫 “私钥加密” 。 对于明文plaintext,和对称秘钥key 加密过程 E(plaintext, key) = ciphertext 解密过程 D(ciphertext, key) = plaintext 对称加密的分为 分组密码(block cipher) 和 流密码(stream cipher) 两种类型。本文只介绍分组密码。 分组密码是每次只能处理特定长度的一块(block)数据的一类加解密算法。AES就是一种分组密码算法。AES加密算法每次可以加密的块长度是128位(bit)。 ECB模式 使用AES加密算法ECB模式,每次能加密128位数据,即16个字节。如果要加密48个字节内容,我们需要把数据分为3组,每组16个字节,分别为P1、P2、P3。P1、P2、P3加密后形成的秘文分别为C1、C2、C3,我们把C1、C2、C3依次拼接起来就成为最终的加密结果。 CBC模式 《对称加密之对称加密二》正在写作,会包含分组密码的更多模式,流密码及AES的更多知识。 DES加密:旧的加密算法,NIST规定仅能用于遗留系统和TDEA。(参考文献[CNS] 3.2章) TDEA(Triple DEA)加密:很多资料也叫3DES(Triple DES)。(参考文献[SP800-67]) Python 可以使用 pycrypto 模块进行AES加解密。安装 pycrypto 可使用命令 pip install pycrypto 安装。 下面AES演示第一版,先看下,紧接着就会升级到第二版本。 运行一下,能正常加解密。但是,如果你把要加密的文本,从 aesAlgorithmDemo 改为 hello ,就会运行报错: 这是因为,AES的分组长度是128位,即16个字节。有些AES实现,要加密的消息长度不是16个字节的倍数需要填充。 填充的方法一般是按照PKCS#7填充标准。 如果要数据的长度不是分组的整数倍,需要填充数据到分组的倍数,如果数据的长度是分组的倍数,需要填充分组长度的数据,填充的每个字节值为填充的长度。PKCS#7支持的分组长度为1到255个字节。 举一些例子: AES的分组长度为16个字节,不管秘钥是128位、192位还是256位。如果要加密的数据长度是5个字节,你需要填充11个字节,填充的内容位填充的长度0x0b。填充后类似下面表示 如果数据长度是30个字节,需要填充2个字节,每个字节的内容为0x02,如果数据成都恰好为16的倍数,需要填充16个字节,每个字节的内容为0x10。 弄明白填充的概念后,我们重写加解密函数如下: 这样填充后会不会可其它系统不兼容?不会。一般的AES程序都是支持PKCS#7填充的。 密码学基础之RSA与不对称秘钥 密码学基础系列 [CNS] 《密码编码学与网络安全》(第六版) [SP800-67] NIST Special Publication 800-67 Revision 1, Recommendation for Triple Data Encryption Algorithm (TDEA) Block Cipher, January 2012. [SSH] OpenSSH CBC模式信息泄露漏洞 [NIST SP 800-57 Part 1 Rev. 4] Recommendation for Key Management, Part 1: General
2023-07-13 20:53:571

copyplaintext安装方法

1、按下CtrlShift加P调出命令面板。2、输入install。3、调出InstallPackage选项并回车,在列表中选中要安装的插件。有的网络环境会不允许访问陌生的网络环境从而设置一道防火墙,而copyplaintext无法设置代理。
2023-07-13 20:54:081

text/html与text/plain有什么区别

Content-Type:用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据。text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。
2023-07-13 20:54:174

VB中Text控件如何读取txt文本中内容?

richtextbox1.loadfile("e:mvp.txt",richtextboxstreamtype.plaintext),关键是plaintext参数,这样文本框就能显示你指定路径的文本文件
2023-07-13 20:54:311

contenteditable 属性设为plaintext-only后,如何添加换行?

就说两个CSS3的  user-modify  css版的contenteditable  使用方法:  user-modify: read-only;  user-modify: read-write;  user-modify: write-only;  user-modify: read-write-plaintext-only;  其中read-only为默认值,write-only是来搞笑的,read-write和contenteditable="true"效果一致,read-write-plaintext-only和contenteditable="plaintext-only"效果一致(没错这属性还有这个值但是还是草案中)。  至于兼容性么,就跟这玩意儿为人所知的程度一样,贫乏得可怜,目前IE浏览器不明,FF只支持前三个属性,Chrome高版本可以全部支持,但是全都要加上私有前缀。  适用场景的话,大概就是contenteditable的css版,想要做高度自适应的文本编辑框,又不想在粘贴复制的时候把html给复制进去。生产环境还是老老实实用js来搞吧。
2023-07-13 20:54:371

什么浏览器支持text/plain

text/html与text/plain区别如下:    1、text/html是html格式的正文,text/html的意思是将文件的content-type设置为text/html的形式    2、text/plain是无格式正文,text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。    3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码    4、application/xml会根据xml头指定的编码格式来编码   Content-Type:用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据,MIME:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
2023-07-13 20:54:451

将一个明文文件plaintext的内容,按照一定的方法,对每个字符加密后存放到另一个密文文件ciphertextt中。

亲,putc()和getc()里面的参数错了 应该是fp2 和fpwhile((ch=getc(fp))!=EOF){ ch+=2; putc(ch,fp2); }
2023-07-13 20:54:541

C#中记事本程序OpenFileDialog.FileName返回空字符串,得不到文件名

openFileDialog1.SafeFileName
2023-07-13 20:55:133

c语言编写hill密码

花了些时间写的,希望对你有帮助~#include<stdio.h>#define N 3 //可加密的字符串长度char plaintext[N]=; //明文,输入时输入字符,参与运算时强制转换成整数int ciphertext[N]=; //密文,保存成整数,输出时强制转换成字符int key[N][N]; //密钥矩阵 void getPlainText() //获得明文字符串{ printf("请输入明文:"); scanf("%s",plaintext); printf(" ");}void getKey() //输入密钥矩阵{ int i,j; printf("请输入加密矩阵: "); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&key[i][j]); printf(" ");}void hill() //Hill加密算法{ int i,j; for(i=0;i<N;i++){ //矩阵的乘法 for(j=0;j<N;j++){ //计算转换依据,0~25对应a~z ciphertext[i]+=key[i][j]*(int)(plaintext[j]-"a"); ciphertext[i]%=26; } } printf(" ");}void printCipherText() //输出加密后的密文{ int i; printf("加密后的密文是:"); for(i=0;i<N;i++) //把参与计算后是整数强制转换成对应的字符 printf("%c",(char)(ciphertext[i]+"a")); printf(" ");}void main(){ getPlainText(); //明文 getKey(); //密钥 hill(); //加密 printCipherText(); //密文}
2023-07-13 20:55:221

C语言英文文本加密

#include "stdio.h"#include <stdlib.h>int main(int argc,char *argv[]){FILE *fp,*fq;int k,t;fp=fopen("AAA12345678901.txt","w+");if(!fp || (fq=fopen("tmp.txt","w"))==NULL){printf("Failed to open the file and exit... ");return 0;}printf("Please enter a short passage(letters+space+punctuation,"Enter" end)... ");while((t=getchar())!=" ")//为文件输入内容fputc(t,fp);printf("Please enter the encryption key(int >0)... k=");while(scanf("%d",&k)!=1 || k<1){//输入加密密钥并判断是否正确printf("Input error, redo: ");fflush(stdin);}rewind(fp);while(t=fgetc(fp),!feof(fp))//加密if(t>="A" && t<="Z")fputc(((t-"A")+k)%26+"A",fq);else if(t>="a" && t<="z")fputc(((t-"a")+k)%26+"a",fq);elsefputc(t,fq);fclose(fp);//关闭原文件fclose(fq);//关闭加密后的文件remove("AAA12345678901.txt");//删除原文件rename("tmp.txt","AAA12345678901.txt");//将加密后的文件更换为原文件名printf(" ");if(fp=fopen("AAA12345678901.txt","r")){while((t=fgetc(fp))!=EOF)printf("%c",t);printf(" Encryption success! ");}elseprintf(" Failed to open the encrypted file... ");fclose(fp);return 0;}代码格式和运行样例图片:
2023-07-13 20:56:011

char[] ch=new char[1]是什么意思呢? ch[0]=plainText.charAt(k)有是什么意思呢?

char[] ch=new char[1]定义一个char数组名字叫ch长度为1ch[0]=plainText.charAt(k)把字符串plainText的第k个字符赋值给数组ch的第一位O(∩_∩)O~
2023-07-13 20:56:152

richtextbox的LoadFile方法怎么用?

这个方法的第二个参数就是针对不同的文件类型加载时要使用适合它的富文本流格式才行。以下是我做开发的时候用到的几种文件的流格式,可以参考。更多的文件类型对应的流格式需要你自己去测试。RichTextBoxStreamTypestreamType;switch(fileExt){case"txt"://文本文件streamType=RichTextBoxStreamType.PlainText;break;case"rtf"://写字板streamType=RichTextBoxStreamType.RichText;break;case"srt"://影片字幕streamType=RichTextBoxStreamType.UnicodePlainText;break;case"lrc"://歌词文件streamType=RichTextBoxStreamType.PlainText;break;case"xml"://XML文件streamType=RichTextBoxStreamType.PlainText;break;default://默认类型streamType=RichTextBoxStreamType.PlainText;break;}returnstreamType;
2023-07-13 20:56:221

邮件设置求助,有关html和text格式的

邮件有很多中显示形式,显示形式主要取决于其MIME类型,每种显示形式有相应的内容,他们之间用分割符号分开。一下是一个构造邮件主体内容的类:<?php//// Definition of tsNotificationMailHandler class//// Created on: <01-Nov-2002 13:51:17amos>//// SOFTWARE NAME: eZ Publish// SOFTWARE RELEASE: 4.0.1// BUILD VERSION: 22260// COPYRIGHT NOTICE: Copyright (C) 1999-2008 eZ Systems AS// SOFTWARE LICENSE: GNU General Public License v2.0// NOTICE: >// This program is freesoftware; you can redistribute it and/or// modify it under the terms ofversion 2.0 of the GNU General// Public License as publishedby the Free Software Foundation.//// This program is distributedin the hope that it will be useful,// but WITHOUT ANY WARRANTY;without even the implied warranty of// MERCHANTABILITY or FITNESSFOR A PARTICULAR PURPOSE. See the// GNU General Public Licensefor more details.//// You should have received acopy of version 2.0 of the GNU General// Public License along withthis program; if not, write to the Free// Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston,// MA 02110-1301, USA.////class tsNotificationMailHandler{ publicfunction __construct( $plainText = false, $htmlText = false ) { $this->setPlainText( $plainText ); $this->setHtmlText( $htmlText ); } functionsetPlainText( $text ) { $this->plainText = $text; } functionsetHtmlText( $text ) { $this->htmlText = $text; }functiongetRandomBoundary($offset = 0) { srand(time()+$offset); return ( "----" . ( md5( rand() ) ) ); }functionbuild() { $mailBody = false;$bodyBoundary = $this->getRandomBoundary(); //add thebody and boundary of the mail if($this->plainText != "") { $mailBody .="--".$bodyBoundary. " "; $textHeader= $this->formatTextHeader();$mailBody .=$textHeader; } if($this->htmlText != "") { $mailBody .="--".$bodyBoundary. " "; $htmlHeader= $this->formatHTMLHeader(); $mailBody .=$htmlHeader; } $mailBody .=" --".$bodyBoundary. "--"; return$mailBody ; }functionformatTextHeader() { $outTextHeader = ""; $outTextHeader .= "Content-Type: text/plain;charset=utf-8 "; $outTextHeader .= "Content-Transfer-Encoding: 7bit "; $outTextHeader .= $this->plainText. " "; return $outTextHeader; }functionformatHTMLHeader() { $outHTMLHeader = ""; $outHTMLHeader .= "Content-Type: text/html; charset=utf-8 "; $outHTMLHeader .= "Content-Transfer-Encoding: 7bit "; $outHTMLHeader .= $this->htmlText. " "; return $outHTMLHeader; }private$htmlText; private$plainText;}两个私有属性分别存放两种类型的内容,内容是在构造函数中传参的,调用自身的build()方法去构造最终的显示内容并且返回。在外部可以这样调用: $mail->extractEmail( $addressItem, $email, $name); $mail->addBcc( $email, $name );$mail->addReceiver( $email, $name ); $mail->setContentType("multipart/alternative","utf-8",false,false,$parameters["boundary"]); $mail->setSender( $emailSender ); $mail->setSubject( $subject ); $mail->setBody( $body );这个$body 就是调用类中的build方法返回的内容。这个$mail对象的类型不定,这儿只是一个例子,mail的具体类型可以自己写,无非就是设置头部,设置发送人,接受人之类的信息。 需要特别注意的是内容是纯文本和html两种格式的头部设置邮件的类型为:multipart/alternative;另一个参数是分割服,boundary,这个分割符可以调用上边类的方法getRandomBoundary()。最终邮件源码发送出来以后就是下面这样的 形式,分割符号把不同的内容分割开来:From - Thu Oct 14 14:44:52 2010X-Account-Key: account3X-UIDL: 1tbiEAVqTUiNYqIyFAAAsRX-Mozilla-Status: 0001X-Mozilla-Status2: 00000000X-Mozilla-Keys: Received: from xiuji.cai (unknown [220.248.96.170]) by mx14 (Coremail) with SMTP id QMCowLBbLySDprZMTt4mBw--.179S2; Thu, 14 Oct 2010 14:43:16 +0800 (CST)Received: from xiuji.cai (localhost [127.0.0.1]) by xiuji.cai (8.14.3/8.14.3) with ESMTP id o9E6hkhO024008 for <xiujixin@163.com>; Thu, 14 Oct 2010 14:43:46 +0800Received: (from hannes@localhost) by xiuji.cai (8.14.3/8.14.3/Submit) id o9E6hkIe024007; Thu, 14 Oct 2010 14:43:46 +0800X-Authentication-Warning: xiuji.cai: hannes set sender to jinxiudaxin@hotmail.com using -fTo: xiujixin@163.comSubject: Article "rrrrrrr" was published [admin.trustedsources.co.uk - China Blog]Date: Thu, 14 Oct 2010 06:43:46 +0000From: Hannes Cai <jinxiudaxin@hotmail.com>MIME-Version: 1.0Content-Type: multipart/alternative; charset=utf-8; boundary="----c0459eef8a3391dc84f2418f0d8722a1"Content-Transfer-Encoding: 8bitContent-Disposition: inlineUser-Agent: eZ Publish, Version 4.0.1Message-ID: <node.16075.eznotification@admin.trustedsources.co.uk>References: <node.1.eznotification@admin.trustedsources.co.uk> <node.2.eznotification@admin.trustedsources.co.uk> <node.15808.eznotification@admin.trustedsources.co.uk> <node.15809.eznotification@admin.trustedsources.co.uk>In-Reply-To: <node.15809.eznotification@admin.trustedsources.co.uk>X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73 VFW2AGmfu7jjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxUyppBDUUUU------c0459eef8a3391dc84f2418f0d8722a1Content-Type: text/plain; charset=utf-8Content-Transfer-Encoding: 7bitThis email is to inform you that a new item has been published at admin.trustedsources.co.uk.The item can be viewed by using the URL below.rrrrrrr - Hannes Cai http://admin.trustedsources.co.uk/blog/china/rrrrrrrIf you do not want to continue receiving these notifications,please change your settings at:http://admin.trustedsources.co.uk/notification/settings-----------------admin.trustedsources.co.uk notification system------c0459eef8a3391dc84f2418f0d8722a1Content-Type: text/html; charset=utf-8Content-Transfer-Encoding: 7bit<html><head></head><body> <font color="#00ff00">this is the html template!</font></body></html>------c0459eef8a3391dc84f2418f0d8722a1--
2023-07-13 20:56:321

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -17

数组越界。你里面的TextLen长度和CipherText或者PlainText不一样
2023-07-13 20:56:391

MD5问题,高手求教啊。。。在J2ME中的,为什么md.update(plainText.getBytes());和md.digest()都不能用啊

晕,J2ME中没有这个类,这是J2SE中的,你要想在J2ME中作MD5摘要,从网上找现成的java代码吧,很多的。
2023-07-13 20:56:461

QT中QTextEdit中的内容toPlainText提出来,我想把这些内容输入到一个数组里面,怎么处理啊?

int a[100]; QString str = ui->textEdit->toPlainText(); int len = str.length(); for(int i = 0; i < len; ++i) { QChar t = str.at(i); a[i] = t.toAscii() - "0"; }textEdit的数据合理性以及数组大小你自己去设定
2023-07-13 20:57:241

19.在加密技术中,把待加密的消息称为______。

明文。
2023-07-13 20:57:313

linux查看java进程命令?

ps -ef | grep java
2023-07-13 20:57:464

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

我没做过https的程序开发,但是报错来看,应该是https的socket出了问题。所以你需要确认PayRefundTask的132行到底做的是什么操作.好像应该应该用https的,但是却用了普通的连接。
2023-07-13 20:57:551

c#中RichTextBoxStreamType的5个属性的疑问

不是很清楚
2023-07-13 20:58:022

文件包含中data://text/plain什么意思?

通过data://text/plain协议来进行漏洞利用
2023-07-13 20:58:102

c#richtextbox的内容保存为TXT文本

我把richTextBox 控件改为TextBox控件(多行的)编译后没有错了
2023-07-13 20:58:204

vb.net编的记事本怎么保存后的文档成乱码

这样子保存的是rtf格式,用写字板打开试试?
2023-07-13 20:58:503

text/html与text/plain有什么区别

一般这是告诉程序下面的文件内容是html文件或者是直接展示的文件. 这样方便浏览器或者程序在解析的时候使用什么解析引擎来读取内容展示给用户. html 如果是浏览器会解析标签和样式.如果是plain 就不会解析这些.直接显示文本文件.
2023-07-13 20:59:105

text/plain 与 text/xml有什么区别

1、text/html是html格式的正文 2、text/plain是无格式正文3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码4、application/xml会根据xml头指定的编码格式来编码:建议你去查以下MIME的类型!
2023-07-13 20:59:422

text/html与text/plain有什么区别

1、text/html是html格式的正文2、text/plain是无格式正文3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码4、application/xml会根据xml头指定的编码格式来编码:建议你去查以下MIME的类型!
2023-07-13 20:59:501

qt中怎么将plain text edit中输入的数赋值给一个变量?

QString str = ui.xxx,text()
2023-07-13 20:59:571

如何将word中plain text引文转换为带有endnote code的引文

重新用endnote插入一遍就可以了,没有捷径
2023-07-13 21:00:071

QT中什么时候使用toPlainText()什么时候使用text()

toPlainText()没用过,但是我知道text()与setText()对应,setText()是设置文本的,text()是获取文本的!
2023-07-13 21:00:142

the character encoding of the plain text document was not declared,是什么错

,饼碰盆,盆碰饼。
2023-07-13 21:00:231

qt如何获取在textedit中的输入

ui->textEdit->toPlainText()
2023-07-13 21:00:312

怎么找到word2007 里的convert to plain text

是清楚格式,在样式的下拉箭头,如图如何点击clear formats:
2023-07-13 21:00:391

Qt中的QLineEdit,QTextEdit和QPlainTextEdit的区别

QLineEdit - 单行文字,不可换行,不接受富文本QTextEdit-富文本编辑器QPlainTextEdit-纯文本编辑器(无格式文本),可换行
2023-07-13 21:01:011

我电子书上有text/plain是什么意思

是指普通文本,也是纯文本,与text/html等等其他区别开来,
2023-07-13 21:01:191

text/plain 与 text/xml有什么区别

1、text/html是html格式的正文 2、text/plain是无格式正文3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码4、application/xml会根据xml头指定的编码格式来编码:建议你去查以下MIME的类型!
2023-07-13 21:01:261

Qt QPlainTextEdit的软换行怎么得到?我想把它换成硬换行,能否实现?

Qt在使用表格时如果文本太长就会显示不全。这时候就需要用到自动换行。QTableView有函数设置自动换行:void setWordWrap(bool on).然而当我们调用setWordWrap(true)时却发现没有换行效果。原来它只负责控制是否换行,但是并不能改变单元格的高度。单元格高度不够就无法换行了。因此我们需要改变行高即可。在设置完数据后调用
2023-07-13 21:01:331

可编辑div contenteditable="plaintext-only" 模拟输入框,在IE浏览器下,鼠标不显示光标,不能输入编辑

兼容性问题,只有部分浏览器能出效果
2023-07-13 21:01:401