-
2021-12-16 22:25:13
一般在c++编写的程序当中,需要在文本文档当中写入多个数据,并进行查找、修改、删除特定数据时常用数组,也可以选择不使用数组而使用文件流,但由于文件流不提供直接修改与删除的方法,这边给出一个方法供大家参考
1、在文本文档当中添加数据
ofstream ofs; ofs.open("test.txt", ios::out|ios::app);//使用ios::app表示在打开文件后添加数据于文本文档的行尾 int m; string a, b, c, d, e, f; cout << "请输入要添加的学生数量:"; cin >> m; for (int j = 0; j < m; j++) { cout << "请输入要添加的学生学号:"; cin >> a; ofs << a << " "; cout << "请输入要添加的学生姓名:"; cin >> b; ofs << b << " "; cout << "请输入要添加的学生性别:"; cin >> c; ofs << c << " "; cout << "请输入要添加的学生出生日期:"; cin >> d; ofs << d << " "; cout << "请输入要添加的学生专业:"; cin >> e; ofs << e << " "; cout << "请输入要添加的学生年级:"; cin >> f; ofs << f << " "; } ofs.close();
首先打开文件test.txt,随后可以通过定义变量来确定文本文档当中的每行保存的数据数,通过cin给变量赋值,随后ofs将变量值写入建立的文本文档中,最后通过ofs.close关闭文件。
2、在文本文档中查找特定数据
string x; cout << "请输入要查找的学生姓名或学号:"; cin >> x; ifstream ifs;//这一块与上一部分不同的是,这里的定义是读取文本文档当中的数据 string a, b, c, d, e,f; ifs.open("test.txt", ios::in); while (ifs >> a && ifs >> b && ifs >> c && ifs >> d && ifs >> e&&ifs>>f) { if (a == x || b == x) { cout << a << " " << b << " " << c << " " << d << " " << e << " " << f << endl; } } return;
对于特定文件的查找,我们需要用到文件流的读取,同时用到循环,首先输入需要查找的数据后,使用while语句循环读取文本文档中的数据,同时在while语句中嵌套if条件语句判断读到的数据与查找的数据一致时将数据所在行的所有数据输出。
3、在文本文档当中修改特定数据
string x; cout << "请输入要编辑的学生姓名或学号:"; cin >> x; ifstream ifs; ofstream oof; string a, b, c, d, e, f; ifs.open("test.txt", ios::binary | ios::out | ios::in); oof.open("tmp.txt", ios::binary | ios::out);//采用这两个后缀是能够在打开tmp.txt这个文件时直接清空文件中的数据而不需要进行另外操作 while (ifs >> a && ifs >> b && ifs >> c && ifs >> d && ifs >> e && ifs >> f) { if (a == x || b == x) { cout << "请输入新的学号:"; cin >> a; cout << "请输入新的姓名:"; cin >> b; cout << "请输入新的性别:"; cin >> c; cout << "请输入新的出生日期:"; cin >> d; cout << "请输入新的专业:"; cin >> e; cout << "请输入新的年级:"; cin >> f; } oof << a << " " << b << " " << c << " " << d << " " << e << " " << f << endl; } ifs.close(); oof.close(); ofstream ofs; ifstream iof; ofs.open("test.txt", ios::binary | ios::out); iof.open("tmp.txt", ios::binary | ios::out | ios::in); while (iof >> a >> b >> c >> d >> e >> f) { ofs << a << " " << b << " " << c << " " << d << " " << e << " " << f << endl; } ofs.close(); iof.close();
这一块较之上两部分麻烦一点,因为文件流没办法直接截断文件中的数据并进行修改,所以这边采用了建立中间文档的办法,首先是需要查找到特定数据的所在,然后打开原本存有数据的文件test.txt与中间文件tmp.txt,随后通过while语句循环读取test.txt的数据,并逐一写入tmp.txt中,当读到与特定数据一致的数据时,通过重新定义变量的值并将重定义后的数据写入文件tmp.txt中。这样就能够实现对特定数据的修改,但还有一步便是将tmp.txt的数据写入test.txt中,从而实现在原文件中修改特定数据。
4、在文本文档中删除特定数据
string x; cout << "请输入要删除的学生姓名或学号:"; cin >> x; ifstream ifs; ofstream oof; string a, b, c, d, e, f; ifs.open("test.txt", ios::binary | ios::out | ios::in); oof.open("tmp.txt", ios::binary | ios::out); while (ifs >> a && ifs >> b && ifs >> c && ifs >> d && ifs >> e && ifs >> f) { if (a == x || b == x) { continue; } oof << a << " " << b << " " << c << " " << d << " " << e << " " << f<<endl; } ifs.close(); oof.close(); ofstream ofs; ifstream iof; ofs.open("test.txt",ios::binary | ios::out); iof.open("tmp.txt", ios::binary | ios::out | ios::in); while (iof >> a >> b >> c >> d >> e >> f) { ofs << a <<" " << b << " " << c << " " << d << " " << e << " " << f << endl; } ofs.close(); iof.close();
这一部分与第三部分的方法大体一致,同样是借助中间文件的存在,在读取test.txt的数据并将数据写入tmp.txt的过程中,读取到与特定数据一致的数据时将跳过本次循环,进而不会将特定数据写入到tmp.txt中,再将tmp.txt的数据写入test.txt中实现特定数据的删除。
以上便是本人使用文件流在文本文档中添加、修改、查找、删除特定数据的方法,如果大家有更好的方法可以一同探讨,有错误的地方欢迎大家指出、提出意见。
更多相关内容 -
电脑中如何将多个文本文档内容合并在一个文本文档中
2021-07-28 06:59:30我们经常看到从网上下载下来的小说是分成多部的,如果我们想要将多个文本文档的内容合并到同一个文本文档中,只需要一个指令就可以实现。具体方法如下:1、例如有多个文本文档,分别为1.txt、2.txt、3.txt、4.txt、5...
记事本创建的文件也叫文本文档,txt格式,是电脑系统中基本的文本格式,功能相对简单,但是易于管理,应用广泛。我们经常看到从网上下载下来的小说是分成多部的,如果我们想要将多个文本文档的内容合并到同一个文本文档中,只需要一个指令就可以实现。
具体方法如下:
1、例如有多个文本文档,分别为1.txt、2.txt、3.txt、4.txt、5.txt、6.txt,内容分别对应1、2、3、4、5、6;
2、新建一个文本文档,输入:copy *.txt
newfile.txt,该指令的意思是将当前文件夹所在的所有txt格式的文件,复制到一个文本文档,文件名是newfile.txt;
3、然后将其另存为bat文件,保存在上述多个文本文档的所在文件夹中;
4、双击运行bat文件就可以执行指令了,执行成功后就出现一个新的文本文档newfile.txt,打开可以看到里面的内容是123456;
5、按照上面的步骤生成的文本文档里的内容是默认不换行的,如果想要在新的一行累加原文本内容就需要在原有的每个文本文档结尾处添加一行空行(回车)就可以。
通过上述方法就可以将电脑中多个文本文档内容合并在同一个文本文档中,此方法简单方便,省去了安装软件的麻烦。
-
解决鼠标右击菜单的新建中没有“文本文档”的问题
2022-02-12 17:53:59有效解决鼠标右击菜单没有“新建文本文档”的问题。解决鼠标右击菜单的新建中没有“文本文档”的问题
原创:丶无殇 2022-2-12
注意:
博主测试平台为WIN10系统,其他系统不保证一定可以。
一、问题现象
在桌面右击打开
新建菜单
时没有文本文档
这个选项。二、问题原因
有以下可能:
安装某个软件后,需要添加右击快捷方式,在注册表操作时候文本文档的相关参数被修改了。
人为卸载程序时,需要删除注册表内容,删多了或者删错了。
三、解决方法
-
在桌面按
Win+R
打开运行
程序(Win
键为键盘左下角像田
的按键),然后输入:notepad
-
确定后,出现文本文档的窗口,输入以下代码:
也可以直接到文末直接下载reg文件
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.txt] @="txtfile" "Content Type"="text/plain" [HKEY_CLASSES_ROOT\.txt\ShellNew] "NullFile"="" [HKEY_CLASSES_ROOT\txtfile] @="文本文档" [HKEY_CLASSES_ROOT\txtfile\shell] [HKEY_CLASSES_ROOT\txtfile\shell\open] [HKEY_CLASSES_ROOT\txtfile\shell\open\command] @="NOTEPAD.EXE %1"
-
注意
:不要直接保存,选择另存为
,将编码格式改为ANSI
,保存类型选择所有文件(*.*)
,文件名后缀改为.reg
,然后保存
-
找到桌面上刚保存的文件,双击运行
-
出现弹窗选择
是
-
出现成功提示时候就完成了
-
如果出现以下弹窗,则为失败,查看是否内容出现了差错
-
最后查看
新建文本文档
功能是否出现,至此,问题解决。
相关资源:新建文本文档注册表代码
-
-
电脑点击右键的新建文本文档不见了的解决方法 怎么解决电脑点击右键的新建文本文档不见了
2021-07-21 05:23:59今天在工作时候,需要新建一个文本文档保存一些东西,结果单机右键却找不到文本文档没有办法新建txt文件,不过费了一番功夫之后还是被我解决了这个问题,下面就把我的方法和大家分享一下。工具/原料电脑一台方法/...今天给大家带来电脑点击右键的新建文本文档不见了的解决方法,怎么解决电脑点击右键的新建文本文档不见了,让您轻松解决问题。
今天在工作时候,需要新建一个文本文档保存一些东西,结果单机右键却找不到文本文档没有办法新建txt文件,不过费了一番功夫之后还是被我解决了这个问题,下面就把我的方法和大家分享一下。
工具/原料
电脑一台
方法/步骤
点击电脑左下角“开始”按钮,
选择“运行”然后输入“regedit”点击确定,打开注册表编辑器。
展开HKEY_CLASSES_ROOT
找到.txt
选中.txt,查看右侧窗格的“默认值”数据是不是txtfile,如果不是,就点击右键修改成txtfile
如果上面的都正常,就接着往下看
在.txt上右击,选“新建——项”把新建项命名为ShellNew,如果有ShellNew就不用新建了。
选中shellNew,然后在右边点击右键“新建”——“字符串值”,将其名称设置为“nullfile”(不包含引号),,值留空即可。
一般出现无法新建本文文件,就是由这两个地方引起的。然后刷新一下注册表和桌面。 如果右击不能立刻出来,就注销一下。
以上就是电脑点击右键的新建文本文档不见了的解决方法,怎么解决电脑点击右键的新建文本文档不见了教程,希望本文中能帮您解决问题。
-
文本文档代码写好了怎么运行
2021-05-21 14:30:32怎样运行自己编写的html文本?...在文本编辑器中输入html代码后如何在浏览器中执行h在电脑桌面创建一个空白文本文件:单击文本编辑器的保存按钮,保存编辑好的html代码:回到桌面,找到编辑好的html代码文... -
文本文档格式怎么更改【图解】
2021-06-13 11:51:07没关系小编这就来教大家更改文本文档格式,有需要的朋友快跟随小编的脚步来看看吧怎么更改文本文档格式1、直接修改文件后辍来实现文件格式的转换操作有一定的风险性。在进行文件格式转换前,首... -
在Windows中无法在新建文本文档解决办法
2019-10-29 20:53:58在Windows中右击新建无法新建文本文档 百度经验 1.首先按下win+R,输入notepad.exe,回车; 2.输入以下代码: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT.txt] @=“txtfile” “Content Type”=... -
java 程序文本文档形式的编写,编译,及运行
2021-02-26 15:54:36在指定路径下新建文本文档如在f盘新建了一个名为demo的文件夹,在该文件夹路径下新建了一个文本文档2.打开文本文档,进行编写,例如:3.保存选择文件另存为,文件名称为你创建的类的名称且后缀为.java,本例中则为... -
如何在Ubuntu中创建文档
2021-05-17 15:56:48有几种方法可以在Ubuntu中使用GUI和命令行创建文档。所有这些方法都非常简单易用。您可能早些时候已在Ubuntu中将这些方法用于其他目的。但是,在本文中,我们将向您展示在Ubuntu中创建文档的8种不同方式。对于本文,... -
win10系统下如何将文本文档转换为网页
2021-06-08 18:04:02因为工作需求,一位windows10正式版系统用户就希望能够将文本文档转换为网页,可是操作了很久都没有成功,感觉非常烦恼。这该怎么办呢?接下来,就随系统城小编一起看看具体方法吧!具体如下:1、首先就是在桌面上... -
文档中快速输入日期时间的方法
2021-09-22 22:46:14文章目录word文档excel表格日期输入后固定不变日期输入后会根据系统变化的输入法快速输入日期时间(推荐) word文档 输入 ctrl+;,就可以直接输入当前日期 输入 ctrl+shift+;,就可以直接输入当前时间 如果是输入... -
cmd命令打开文本文档_Windows常用cmd命令总结
2020-11-18 13:44:50运行操作:使用“Win+R”快捷键召唤出运行窗口,再在运行中输入cmd即可。1、ping用法:常用举例:pingwww.g.cn# 最常见的用法,判断本机能否连接互联网ping -l 2000 -t 192.168.1.1#指定每次以2000bytes不间断常ping... -
新建文本文档快捷键
2017-09-28 10:29:08身为一个程序员,效率至上...首先,我现在网上找解决这个问题的办法,但网上大多数的推荐都是右击文本文档设置快捷键,但这只是一个快速打开的方式,当你保存此文件时会发现本末倒置,让自己新建文本文件变得更加繁琐。 -
如何快速批量新建文本文档(txt)?
2020-04-28 22:55:261、在要创建文档的文件夹里新建一个文本文档123.txt。 2、打开该文档,把下面的命令复制粘贴进去。 命令: @echo off for /L %%x in (1,1,10) do @echo %%x>%%x.txt 注:这里的10(为新建文件夹的个数)可以自行... -
编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档...
2020-09-26 14:55:48读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new File(String pathname) 构造方法,分别创建用来读取的文件实例 file 和... -
MATLAB提取txt文本文档中特定关键字后的数字信息
2020-06-17 16:34:27文本文档的信息多是按照行的格式读写的,因此在读取时对提取到每行的文本信息进行关键字的对比找到指定行,然后利用正则表达式提取相应的信息即可。 文本信息示例 positions bitstream size 550216 B (12.5996 ... -
Windows 新建文本文档快捷键设置
2018-07-18 21:15:42日常开发中,我们经常会新建文本文档,无论是新建html文件还是做笔记等的需要,没有快捷方式是件很让人烦恼的事情。我们在此就根据windows系统中,右击然后在键盘中点击字母可以使操作更方便快捷的方式来解决这个... -
用文本文档编写Hello, World! 程序Java
2021-03-17 15:26:16在D盘新建文件夹code,在code中新建文件夹day01,在day01文件夹新建文本文档HelloWorld.txt; 将HelloWorld.txt的后缀.txt改成.java; HelloWorld.java里面输入以下代码。 class HelloChina{ public static void ... -
如何将文本文档转换为dat文件
2021-07-21 00:40:24通过我的电脑,工具,文件夹选项,查看选项卡,取消选中“隐藏已知文件类型的扩展名”18943626166输入记事本程序(必须从头开始),将文档粘贴到其中,并在保存时将txt中的“文件名”保存到vbs.这很容易. 房东在桌面上... -
用文本文档写的代码怎么运行?
2019-01-02 16:50:071. 新建文档,后缀名改成.java(注意文件名用英文的) 2. 写代码 3. 打开命令提示符:快捷键,输入cmd 4. 切换路径:cd 文件所在的路径 5. 将java程序编程成字节码文件(.class):javac 文件名.java 6. 允许字节码... -
我的电脑中无法新建txt文本文档
2021-04-14 11:10:39我的电脑中无法新建txt文本文档 电脑中病毒或者是系统错误所致,可以通过如下方式进行解决: 1、按Win+R打开运行,输入regedit,回车打开注册表编辑器; 2、按Ctrl+F键,输入:.txt,然后点击“查找下一个”; 3、... -
Windows10系统右键无法新建文本文档解决方案
2020-08-31 17:20:26因为最近项目比较多,系统软件太多导致电脑运行速度变慢,博主重装系统后发现右键新建不了文本文档,Win+R运行"system32"也无法找到notepad,故此做个笔记以免忘记!!! 新版的Windows 10系统 默认把 “记事本”... -
把固定格式的文本文档转换为Excel电子表格的方法
2021-06-10 08:19:41本文图文讲解把固定格式的文本文档转换为Excel电子表格的方法。比如,有一个文本文件,它的名字是“通讯录.txt”,它里面有标题行和内容行,每一行都由一个“竖线”字符(也就是英文字符“|”)分隔。整个文件的内容如... -
mac:通过鼠标右键 新建文本文档
2020-11-20 21:35:51主要功能:在Finder(访达)中,选中一个文件或文件夹,鼠标右键稍微点一下就能够在同目录下创建文本文档。 启动 自动操作 输入关键词 自动操作 或 automator 启动 新建 一个workflow 选择 “快速操作” 工作... -
windows如何设置新建文本文档快捷键
2019-03-10 16:02:321.新建文件夹的快件键:Ctrl+Shift+n 即可新建文件夹 2.如何设置新建文本文档的快捷键呢?...(3)按Ctrl+f搜索C:\Windows\system32\notepad.exe,-469然后将 文本文档 改为 文本文档(&T... -
dos命令把ping内容保存在文本中
2019-03-08 14:46:29dos命令把ping内容保存在文本中 第一:windows+r快捷键进入运行,输入cmd 输入 ping www.baidu.com -t>ping.txt 解释 -t是一直ping的意思,不想一直ping则直接输入ping www.baidu.com>ping.txt; 符号... -
Windows 如何设置新建文本文档快捷键
2020-10-11 19:41:06CLASSES_ROOT文件夹,使用ctrl+F快捷键搜索3、输入C:\Windows\system32\notepad.exe,-469或者文本文档4、找到后双击,将数值数据中的“文本文档”改为“文本文档 (&T)”5、设置成功后鼠标右击,键盘上按WT快速... -
Linux 快速清除文本内容
2022-03-22 08:01:28linux快速清空文本文件内容的几种方法 ...在 Linux 中, null 设备基本上被用来丢弃某个进程不再需要的输出流,或者作为某个输入流的空白文件,这些通常可以利用重定向机制来达到。 所以 /dev/null 设 -
如何在文本文档中每行首尾插入相同的字符
2018-05-14 17:23:22经过查阅一些资料,我找到了四种解决办法,并在我的博客上写了一篇总结:在文本每一行的行首和行尾都插入特定的相同字符或文本,现转载如下:办法一:notepa++的列编辑先说在每行行首插入相同文本的办法。... -
win11右键新建没有txt文本文档记事本怎么办
2022-06-06 13:20:56win11右键新建没有txt文本文档记事本怎么办,1分钟搞定,不用输入代码!!1.找到工具栏windows或者按一下键盘window按钮;2.点击-所有应用-;3.找到-记事本-右键单击 找到-更多- 点击-应用设置-;4.点击-修复-,;5....