精华内容
下载资源
问答
  • QT学习 之 文本文件读写
    千次阅读
    2015-06-11 17:07:23

    上一章我们介绍了有关二进制文件的读写。二进制文件比较小巧,却不是人可读的格式。而文本文件是一种人可读的文件。为了操作这种文件,我们需要使用QTextStream类。QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。另外,像 XML、HTML 这种,虽然也是文本文件,可以由QTextStream生成,但 Qt 提供了更方便的 XML 操作类,这里就不包括这部分内容了。

    QTextStream会自动将 Unicode 编码同操作系统的编码进行转换,这一操作对开发人员是透明的。它也会将换行符进行转换,同样不需要自己处理。QTextStream使用 16 位的QChar作为基础的数据存储单位,同样,它也支持 C++ 标准类型,如 int 等。实际上,这是将这种标准类型与字符串进行了相互转换。

    QTextStream同QDataStream的使用基本一致,例如下面的代码将把“The answer is 42”写入到 file.txt 文件中:

    QFile data("file.txt");
    if (data.open(QFile::WriteOnly | QIODevice::Truncate)) {
        QTextStream out(&data);
        out << "The answer is " << 42;
    }

    这里,我们在open()函数中增加了QIODevice::Truncate打开方式。我们可以从下表中看到这些打开方式的区别:

    枚举值描述
    QIODevice::NotOpen未打开
    QIODevice::ReadOnly以只读方式打开
    QIODevice::WriteOnly以只写方式打开
    QIODevice::ReadWrite以读写方式打开
    QIODevice::Append以追加的方式打开,新增加的内容将被追加到文件末尾
    QIODevice::Truncate以重写的方式打开,在写入新的数
    QIODevice::Text在读取时,将行结束符转换成 \n;在写入时,将行结束符转换成本地格式,例如 Win32 平台上是 \r\n
    QIODevice::Unbuffered忽略缓存

    我们在这里使用了QFile::WriteOnly | QIODevice::Truncate,也就是以只写并且覆盖已有内容的形式操作文件。注意,QIODevice::Truncate会直接将文件内容清空。

    虽然QTextStream的写入内容与QDataStream一致,但是读取时却会有些困难:

    更多相关内容
  • 在Linux下的文本读写操作的源代码,最原始的程序,修改、添加就会变成你自己的特色。
  • 本文给大家汇总介绍了C#实现文本文件读写的方法,十分的简单实用,有需要的小伙伴可以参考下。
  • 内容索引:VB源码,文件操作,文本 自己封装一个用VB读写TXT文本文件类文件,含示例源码,方便基础不好的朋友使用。写的目的其实很简单,从自己编程的经历来看,经常要用到文本文件读写,有时候是需要一个功能就写一...
  • 掌握文本文件读写的方法
  • C++对文本文件读写方法

    千次阅读 2021-11-13 17:38:05
    1、创建流对象,打开文件 void open( const char *filename ); void open( const char *filename, openmode mode ); filename 文件名 mode:打开模式 ios::app 添加输出 ios::ate 当已打开时寻找到EOF ...

    1、创建流对象,打开文件

        void open( const char *filename );

        void open( const char *filename, openmode mode );

        filename 文件名

        mode:打开模式

            ios::app 添加输出

            ios::ate 当已打开时寻找到EOF

            ios::binary 以二进制模式打开文件

            ios::in 为读取打开文件

            ios::out 为写入打开文件

            ios::trunc 覆盖存在的文件

           

        strace ./a.out

        ifstream 类的默认mode

            以只读方式ios::in打开文件,文件不存在则打开失败 r

        ofstream 类的默认mode

            以只写方式ios::out打开文件,文件不存在则创建,存在则清空    w

        fstream 类的默认mode

            以读写方式ios::in|ios::out打开文件,文件不存在则失败       r+

        注意:这些打开模式单独使用和混合使用时功能上有删减,不是简单的相加,具体混合使用后的功能需要通过strace追踪底层调用open函数时对应的flag标志位

       

        注意:可以使用创建类时初始化进行打开文件,效果等同于调用open成员函数,参数与open一样

            ifstream ifs.open("test.txt");

            ifstream ifs("test.txt");

    2、判断文件是否打开成功

     bool good();

     功能:判断上一次流对象的操作是否成功,可以用于判断文件是否打开成功

     返回值:

        true 成功

        false 失败

     bool fail();

     功能:判断上一次流对象的操作是否失败,可以用于判断文件是否打开成功

     返回值:

        true    失败

        false   成功

    3、流对象 << 写操作   流对象    >>  读操作

        ofs << str << endl;

        ifs >> str;

    4、关闭文件

        void close();

    注意:在读写类对象时,由于绝大多数成员都是private属性,因此不能在类外直接进行读写;但由于ostream/ifstream类是ofstream/ifstream的父类,因此重载实现<< 和 >> 运算符函数既可以用于输入输出对象,也可以用于类对象的文本文件的读写

    读:

    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main(int argc,const char* argv[])
    {
    	ifstream ifs("test.txt");
    	if(ifs.good())
    		cout << "文件打开成功" << endl;
    	else
    		cout << "文件打开失败" << endl;
    	
    	string str;
    	double f;
    	ifs >> str >> f;
    	cout << str << "---" << f << endl;
    	ifs.close();
    }
    

    写:

    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main(int argc,const char* argv[])
    {
    	ofstream ofs("test.txt");
    	if(ofs.good())
    		cout << "文件打开成功" << endl;
    	else
    		cout << "文件打开失败" << endl;
    												
    	ofs << "你好" << endl;
    	ofs.close();
    }
    
    

    展开全文
  • JSP实验报告+登录系统的制作 简单的页面 文本文件读写 附带源码
  • Python示例代码之文本文件读写

    千次阅读 2018-11-08 02:42:15
    文件读写相关系统函数说明 系统函数 说明 input(tips); 提示用户输入信息,例如 str = input("Please input your ip:") 将输入的信息赋值给变量str print ...

     

    文件读写相关系统函数说明

    系统函数

    说明

    input(tips);

    提示用户输入信息,例如

    str = input("Please input your ip:")

    将输入的信息赋值给变量str

    print ([常量或变量、表达式])

    打印信息,例如

    print ("you input is: ", str)

    打印出字符串或变量、表达式的值

    open(filename, mode)

    打开文件,返回一个文件对象,其中filename为文件名,mode为打开模式,默认为读。打开模式有r、rb、ab等等种类,后续有表格详细描述。

    f.write( filecontent )

    向文件中写入内容,其中f为文件对象,filecontent为需要写入的内容。

    函数获取返回为写入了多少字节。

    f.close()

    关闭打开的文件,其中f为文件对象。

    f.read()

    一次读入文件中的所有内容,例如

    str = f.read()

    f.readline()

    读取当前行的内容,例如

    str = f.readline()

    f.readlines()

    读取所有行的内容,例如

    str = f.readlines()

    返回的整个为一个字符串,换行被打印成”\n”

    for line in f:

        print(line)

    提供一种按行打印的常用方法。

    f.tell()

    f.tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。

    f.seek()

    可以使用 f.seek(offset, from_what) 函数改变文件当前的位置,例如

    seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符

    seek(x,1) : 表示从当前位置往后移动x个字符

    seek(-x,2):表示从文件的结尾往前移动x个字符

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    文件打开模式类型

    模式

    描述

    r

    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

    rb

    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。

    r+

    打开一个文件用于读写。文件指针将会放在文件的开头。

    rb+

    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

    w

    打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    wb

    以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    w+

    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    wb+

    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    a

    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    ab

    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    a+

    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

    ab+

    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    写文件示例

    f = open("writetest.txt", "w")
    f.write( "Python 是一个非常好的语言。\n是的,的确非常好,好的不得了!!\n" )
    f.close()

    执行完毕没有输出,打开输入的文件显示如下:

     

    读文件示例

    f = open("writetest.txt", "r")
    str = f.read()
    print(str)
    f.close()

    示例运行结果

     

    读文件示例2

    f = open("writetest.txt", "r")
    for line in f:
        print(line)
    f.close()

    示例运行结果

     

    如果您喜欢这篇文章,请点赞和评论!

     


                                             立冬             ---占海题

                                     家乡单衣已入柜, 

                                     尼国盛夏正当值。        

                                     春耕秋收四季换,

                                     不决已是立冬时。

                                

    说明:很多网友觉得应该是“不觉已是立冬时”,其实这里的不决指的是还没有做好决定,

               抒发了作者自己尚未做好决定,冬天已经到了,时间匆匆而无所事事的感叹。

    展开全文
  • 小程序-C#将文本文件读写并对部分内容匹配和替换 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软
  • Qt 文本文件读写

    千次阅读 2021-01-14 15:59:12
    文本文件读写二进制文件比较小巧,但是不是人可读的格式。文本文件是一种人可读的格式的文件,为了操作这种文件,我们需要使用 QTextStream 类。QTextStream 和 QDataStream的使用类似,只不过它是操作纯文本文件的...

    文本文件读写

    二进制文件比较小巧,但是不是人可读的格式。文本文件是一种人可读的格式的文件,为了操作这种文件,我们需要使用 QTextStream 类。QTextStream 和 QDataStream的使用类似,只不过它是操作纯文本文件的。还有一些文本格式,比如 XML、HTML,虽然可以由 QTextStream 生成,但 Qt 提供了更方便的 XML 操作类,这里就不包括这部分内容了。

    QTextStream 会自动将 Unicode 编码同操作系统的编码进行转换,这一操作对程序员是透明的。它也会将换行符进行转换,同样不需要你自己去处理。QTextStream 使用16位的 QChar 作为基础的数据存储单位,同样,它也支持 C++标准类型,如 int 等。实际上,这是将这种标准类型与字符串进行了相互转换。

    QTextStream 同 QDataStream 使用基本一致,例如下面的代码将把“Thomas M. Disch: 334/n”写入到 tmp.txt 文件中:QFilefile("sf-book.txt");

    if (!file.open(QIODevice::WriteOnly)) {

    std::cerr << "Cannot open file for writing: "

    << qPrintable(file.errorString()) << std::endl;

    return;

    }

    QTextStreamout(&file);

    out << "Thomas M. Disch: " << 334 << endl;

    可以看到,这段代码同前面的 QDataStream 相关代码基本雷同。文本文件的写入比较容易,但是读出就不那么简单了。例如,out << "Denmark" << "Norway";

    是我们写入的代码。我们分别写入两个单词,然后试图以与二进制文件读出的格式相同的形式读出:in >>str1 >> str2;

    上面两段代码的 out 和 in 都是 QTextStream 类型的。虽然我们可以正常写入,但读出的时候,str1里面将是 DenmarkNorway,str2 是空的。以文本形式写入数据,是不能区分数据的截断位置的。因为使用 QDataStream 写入的时候,实际上是要在字符串前面写如长度信息的。因此,对于文本文件,更多的是一种全局性质的操作,比如使用 QTextStream::readLine() 读取一行,使用 QTextStream::readAll() 读取所有文本,之后再对获得的 QString 对象进行处理。默认情况下,QTextStream 使用操作系统的本地编码进行读写。不过你可以使用 setCodec() 函数进行设置,比如stream.setCodec("UTF-8");

    同 类似,QTextStream 也提供了一些用于格式化输出的描述符,称为 stream manipulators。这些描述符放置在输出内容之前,或者是使用相应的函数,用于对后面的输出内容做格式化。具体的描述符如下setIntegerBase(int)0读出时自动检测数字前缀

    2二进制

    8八进制

    10十进制

    16十六进制setNumberFlags(NumberFlags)ShowBase显示前缀,二进制显示0b,八进制显示0,十六进制显示0x

    ForceSign在实数前面显示符号

    ForcePoint在数字中显示点分隔符

    UppercaseBase使用大写的前缀,如0B, 0X

    UppercaseDigits使用大写字母做十六进制数字setRealNumberNotation(RealNumberNotation)FixedNotation定点计数表示,如0.000123

    ScientificNotation科学计数法表示,如1.23e-4

    SmartNotation定点或科学计数法表示,自动选择简洁的一种表示法setRealNumberPrecision(int)设置生成的最大的小数位数,默认是6setFieldWidth(int)设置一个字段的最小值,默认是0setFieldAlignment(FieldAlignment)AlignLeft左对齐

    AlignRight右对齐

    AlignCenter中间对齐

    AlignAccountingStyle符号和数字之间对齐setPadChar(QChar)设置对齐时填充的字符,默认是空格

    比如,下面的代码out << showbase << uppercasedigits << hex << 12345678;

    将输出0xBC614E。或者我们可以这样去写:out.setNumberFlags(QTextStream::ShowBase | QTextStream::UppercaseDigits);

    out.setIntegerBase(16);

    out << 12345678;

    QTextStream 不仅仅可以输出到 QIODevice 上,也可以输出到 QString 上面,例如QString str;

    QTextStream(&str) << oct << 31 << " " << dec << 25 << endl;

    展开全文
  • Android平台中经常要用到Txt文本文件读写操作,该文档提供了一个处理方式。
  • Python文本文件读写的3种方法

    万次阅读 2018-03-29 14:37:39
    read()将文本文件所有行读到一个字符串中。 readline()是一行一行的读 readlines()是将文本文件中所有行读到一个list中,文本文件每一行是list的一个元素。 优点:readline()可以在读行过程中跳过特定行。 读写文件...
  • 利用标准C语言库函数进行文本文件读写

    万次阅读 多人点赞 2017-02-21 15:36:30
    一、文件打开 1、fopen() 二、文件读 fgetc getc getchar fgets gets fscanf 三、文件写 fputc putc putchar fputs puts fprintf
  • 主要介绍了Android应用程序中读写txt文本文件的基本方法讲解,基本上依靠context.openFileInput()和context.openFileOutput()两个方法为主,需要的朋友可以参考下
  • 主要介绍了java中关于文本文件的读写方法,实例总结了Java针对文本文件读写的几种常用方法,并对比了各个方法的优劣及特点,具有一定参考借鉴价值,需要的朋友可以参考下
  • C++文件读写流样板

    2018-11-01 00:00:31
    C++文件读写流样板
  • C++文本文件读写操作详解

    千次阅读 2021-05-21 14:10:10
    前面章节中,已经给大家介绍了文件流...在讲解具体读写文件的方法之前,读者首先要搞清楚的是,对文件的读/写操作又可以细分为 2 类,分别是以文本形式读写文件和以二进制形式读写文件。1) 我们知道,文件中存储的...
  • 主要介绍了使用Python读写文本文件及编写简单的文本编辑器的方法,可以利用简单的Python代码实现编辑器中的读取清空和文本文件的新建等操作,需要的朋友可以参考下
  • VB .NET-文本文件读写

    千次阅读 2019-07-17 14:28:55
    读取指定分隔符格式文本文件: Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\TestFolder\test.txt") MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters...
  • 在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发中还是时有使用...
  • 文本文件和二进制文件读写区别,C语言
  • 提供了一个用C#语言实现的txt文件操作类,实现了写入txt、读取txt、读取指定行、删除指定行、查询txt指定内容,按照给定条件查询、删除txt文件内容等功能。调用方便,操作简单,附有使用说明,及源码。
  • 主要介绍了C#读写文本文件的方法,实例分析了C#操作文本文件的原理与实现技巧,需要的朋友可以参考下
  • Python读写文本文件

    千次阅读 2021-02-26 10:59:45
    Python读写文本文件 读取文本文件 数据几乎无一例外地是被保存在文件中的。这些文件可能是文本文件、CSV 文件、Excel 文件或其他类型的文件。知道如何访问此类文件以及从中读取数据是在 Python 中进行数据处理、加工...
  • python文本文件读写的3种方法

    千次阅读 2021-02-09 23:51:56
    第一种方法:file1 = open("test.txt")file2 = open("output.txt","w")while True:line = file1.readline()#这里可以进行逻辑处理file2.write('"'+line[:s]+'"'+",")if not line:break#记住文件处理完,关闭是个好...
  • 文本文件读写

    千次阅读 2019-05-04 12:30:38
    文本文件(例:记事本)、 ②二进制文件(例:视频文件),优点:所占内存较小 操作文件地址的两种方式:①相对路径 ②绝对路径 2、文件打开与关闭 ①格式:FILE *fp = fopen(“路径”,“r”) 做判断 文件是否为...
  • 【Java实验】使用GUI实现文本文件读写显示

    千次阅读 多人点赞 2021-05-20 20:36:55
    使用IO流对象对文件进行读写 好的小伙伴们,废话不多说,下面就来的实现它。 实现 首先,让我们创建一个GUI界面,先秉持着一切从简的设计思想,预计它长这样: 这样的布局方式,我们可以选择采用流布局实现,在容器
  • 文本文件读写

    千次阅读 2012-07-23 21:57:16
    文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。 文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。 1.文件变量与文件名关联: As
  • PB对文本文件进行读写
  • 利用python中的jieba的三方库,提取中文文本文件文字并进行数据分析

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 228,520
精华内容 91,408
关键字:

文本文件的读写

友情链接: gptips1.0.zip