string类

有了string就可以跟字符数组说拜拜了,方便多了。。。
常用:
长度:str.length()
尺寸:str.size()
比较:str1.compare(str2)
连接:str1+=str2
连接:str1.append(str2)
提取:str2=str2.substr(pos1)
查找:pos=str1.find(str2)
插入:str1.insert(pos1,str2);
替换:str1.replace(pos1,str2);
删除:str1.erase(pos,len)
清除:str.clear()
详细说明:https://blog.csdn.net/qq_37941471/article/details/82107077

文件读取

流的定义以及流的一些知识:
当程序与外界进行信息交换时,存在两个对象,一个是程序中的对象,另一个是文件对象。
流是信息流动的一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动。
流可以存在于文件与内存(文件读写)、键盘与内存(cin)、显示器与内存(cout)。。。

cout补充
1、用“cout<<”输出基本类型的数据时,可以不必考虑数据是什么类型,系统会判断数据的类型,并根据其类型选择调用与之匹配的运算符重载函数。这个过程都是自动的,用户不必干预。如果在C语言中用prinf函数输出不同类型的数据,必须分别指定相应的输出格式符,十分麻烦,而且容易出错

2、cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插 人一个endl时,不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符, 并刷新流(清空缓冲区)。 注意如果插人一个换行符”\n“(如cout<<a<<"\n"),则只输出和换行,而不刷新cout 流(但并不是所有编译系统都体现出这一区别)。
注:缓冲是指将所有输出集中存放,然后一次性显示在屏幕上,避免多次刷屏。

3、在iostream中只对"<<“和”>>“运算符用于标准类型数据的输入输出进行了重载,但未对用户声明的类型数据的输入输出 进行重载。如果用户声明了新的类型,并希望用”<<“和”>>"运算符对其进行输入输出,按照重运算符重载来做。

cin补充
1、使用cin,从流中读出的字符,流中就没有这字符了,再次读取时只能读取剩下的
2、缓冲去只有在遇到EOF(表示文件结尾)、手动敲回车、流(缓存区)满时,才将流中的字符全部读出(即清空缓存区)
来源:https://www.cnblogs.com/cthon/p/9185282.html

文件读写

文件读写时同样是建立一个流,连接文件与程序中开辟的内存。
读文件时,建立一个读文件的流ifstream,程序每一次提取(>>)都是遇到流中某些特定的控制符时(空格或换行),然后刷新缓冲区,开始下一次提取。

/***@name Readfile:从txt中读取数据*@param1 (*s)[3]:传入一个二维数组的地址*@param2 filename:所要读取的文件名
**/
void Readfile(string (*s)[3],string filename)
{int i,j;ifstream in(filename,ios::in);if(!in.is_open()){//如果没有打开文件则报错cout<<"error"<<endl;}else{//若顺利打开文件 将文件内容放入二维string数组 in每次读取到空格或换行for(i=0;i<500;i++){for(j=0;j<3;j++){in>>s[i][j];}}}in.close();
}

写文件也是相同的道理

/***@name Writefile:将数据写入txt文件中*@param1 (*s)[3]:传入一个二维数组的地址*@param2 filename:所要读取的文件名
**/
void Writefile(string (*s)[3],string filename)
{int i,j;ofstream out(filename,ios::out);for(i=0;i<500;i++){for(j=0;j<3;j++){out<<s[i][j]<<' ';}out<<'\n';}out.close();
}

py文件读写

三个重要知识点:
1.读取时,对字符串去尾(strip)、切割后存入list(split)
2.写入时,将list转换为字符串写入(join)

#读取file
def Read_File(filename):l=[]with open(filename) as file:for line in file:#将txt的内容存入list中 并进行拆分 此时每个元素为列表l.append(line.strip('\n').split())          return l#写入file
def Write_File(filename,l):#将list中的元素转换为字符串类型即 ["a","b","c"]->"abc"for i,value in enumerate(l):l[i]=' '.join(l[i])#将所有字符串写入文件中with open(filename,'w') as file:for line in l:file.write(line+'\n')

数据结构与算法分析(一)——C++文件读写+py文件读写相关推荐

  1. 如何在Jupyter notebook中运行python的.py文件,以及ipynb文件与py文件的相互转化

    文章目录: 1 Jupyter notebook中%开头的一些方法使用 1.1 运行python的py文件 1.2 加载本地文件 2 ipynb文件与py文件的相互转化 2.1 jupyter not ...

  2. 【pyqt5】——入门级模板(ui文件+ui转py文件+逻辑py文件)(消息提示框)

    目录 1.ui文件 2.ui转py文件 3.逻辑py文件 4.实例 1)ui文件--demo.ui 2)ui转py文件--demo.py 3)逻辑py文件--demoLogic.py 4)运行结果 1 ...

  3. 【pyqt5】配置Qt Designer之【designer.exe的保存位置及ui文件转py文件及no Qt platform plugin could be initialized 问题解决】

    目录 一.寻找designer.exe 二.no Qt platform plugin could be initialized 问题解决 三.ui文件转换为py文件 四.pyqt5的使用教程 一.寻 ...

  4. .pyc文件还原.py文件_Python文件.py转换为.exe可执行程序,制作.exe文件图标

    当大家想要将自己写的Python程序对别人进行展示的时候,你是否还是打开你的Pycharm进行运行展示? 假如是专业的人士看你的代码,一眼就能看懂你的代码,而其实我们可以不需要给代码,利用pyinst ...

  5. Pycharm 转化ui文件为py文件:报错Error in input file: not well-formed (invalid token): line 1, column 1

    利用PyUIC转化 .ui文件为 .py文件时,报错 Error in input file: not well-formed (invalid token): line 1, column 1 我出 ...

  6. python文件输出exe文件反汇编_python 反编译exe文件为py文件的实例代码

    我们用pyinstaller把朋友文件打包成exe文件,但有时候我们需要还原,我们可以用pyinstxtractor.py 用法: python pyinstxtractor.py xxx.exe 之 ...

  7. jupyter文件转换为py文件

    参考: jupyter文件转换为py文件_柏拉图工作室-AI学科的博客-CSDN博客_jupyter生成py文件 方式一:打开jupyter,然后File-Download as-Python(.py ...

  8. PyQt5 将.ui文件转为.py文件并用另一个.py调用

    一..ui转.py 1.使用终端进入ui文件所在的文件夹 值得注意的是,Anaconda Prompt不能直接cd进其它盘 需要在根目录下进行切换盘符操作,使用 cd ..切进上一级目录,直到进入根目 ...

  9. 解决pycharm QtDesigner生成.ui文件转为.py文件运行不出现界面的方法(信号与槽生成的除外)

    解决pycharm QtDesigner生成.ui文件转为.py文件运行不出现界面的方法(信号与槽生成的除外,会报错闪退) 一般需要导入下面两个包 from PyQt5.QtWidgets impor ...

  10. ipynb文件转为py文件的两种方法

    项目场景及问题描述: 许多GitHub上的项目拉下来是.ipynb格式,如果不用jupyter notebook打开,用pycharm打开,看到的是一个个cells,看代码逻辑不太方便:或者通过jup ...

最新文章

  1. unity, Shader.Find的一个坑
  2. python入门教程完整版-Python入门教程完整版(懂中文就能学会)
  3. 一流投资人会关注什么样的区块链初创公司?
  4. 对PostgreSQL的prepared statement的深入理解
  5. OpenGL normalviewer普通视图的实例
  6. [已解决] java 增加 ALPN支持
  7. u3d文件上传至服务器,unity 上传图片到云服务器
  8. 2021牛客暑期多校训练营4 B - Sample Game 期望dp\生成函数
  9. Spring Security:初体验
  10. 源码包安装mysql_源码包安装MySQL
  11. ubuntu16.04+opencv3.1配置
  12. hibernate教程笔记7
  13. react-redux的todolist(b站笔记)-(四)
  14. java web sftp,sftp-sftp工具 v5.9.6
  15. vue微信扫码登录过程
  16. .NET Framework高低版本兼容问题解决办法
  17. c语言中输入输出基本格式
  18. Loongson2f_龙芯逸珑8089A_扩容硬盘安装debian8(sd卡扩容)
  19. 【Windows Tips】关闭 Windows Defender
  20. 幸福的烦恼:显卡算力太高而pytorch版本太低不支持

热门文章

  1. python使用线程池多线程执行,并得到返回的结果
  2. 聚类效果评价——Davies-Bouldin(DB指标)——内部评估标准(3)
  3. zb如何导出自己画的_如何科学管理zb文件
  4. linux 命令行管理,Linux命令行界面下的用户和组的管理
  5. 计算机二级考试c语言冲刺,计算机二级C语言考试冲刺练习题
  6. java框架之SpringCloud(2)-Rest微服务案例
  7. 『设计模式』之小试牛刀
  8. Android Service与Thread的区别
  9. 静能沉淀浮躁,过滤浅薄,调节精神。 静能解读生命的安宁,拥有了然于心的平静。...
  10. HDU 2303 The Embarrassed Cryptographer