C++,Python,Javascripts操作文件读写,字符串分割

C++

读文件:

前提是需要包含头文件

cpp 复制代码
#include <iostream>
#include <fstream>
#include <string>

逐行读取

cpp 复制代码
std::ifstream file("xxx/");
if(!file)
{
    std::cout<<"file don not open"<<std::endl;
}
else {
    std::string line;
    while(getline(file,line))
    {
        std::cout<<"content:"<<line<<std::endl;
    }
    file.close();
}

逐字

cpp 复制代码
std::ifstream file("xxx/");
if (!file) {
   std::cout << "无法打开文件!" << std::endl;
   return 1;
}
char character;
while (file.get(character)) {
     std::cout << character;
}
file.close();
return 0;

写文件

cpp 复制代码
  std::ofstream outfile.open("xxx/文件名", std::ios::app);
  if(!outfile.is_open ()) cout << "Open file failure!" << endl;
  else{
    outfile<<ask;    
  }
  outfile.close();
  std::cout << "Write file success!" << endl;
  • **ios::app:**模式用于在文件末尾追加数据,而不会覆盖原有内容。
  • ios::out: 打开文件进行写操作。如果文件不存在,则创建新文件;如果文件存在,则清空文件内容。这是默认模式。
  • ios::in: 打开文件进行读操作。
  • **ios::in | ios::out:**同时读写
  • ios::binary: 以二进制模式打开文件。这会影响数据的读取和写入方式,特别是对于非文本数据。
  • ios::ate: 打开文件并将文件指针定位到文件末尾。这样可以直接从文件末尾开始读写操作
  • ios::nocreate: 不创建新文件。如果文件不存在,则打开失败。

Python

读文件

  • 'r':以只读方式打开文件(默认)。如果文件不存在,会抛出FileNotFoundError异常。
  • 'w':以写入方式打开文件。如果文件已存在,则清空文件内容;如果文件不存在,则创建新文件。
  • 'a':以追加方式打开文件。如果文件已存在,则在文件末尾追加内容;如果文件不存在,则创建新文件。
  • 'x':如果文件不存在,则以写入方式创建一个新文件;如果文件已存在,则抛出FileExistsError异常。
  • 'b':以二进制模式打开文件。
  • 't':以文本模式打开文件(默认)。
  • '+':以读写模式打开文件。

读取一行

python 复制代码
with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())

一次读取所有

python 复制代码
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

写文件

写入前清空

cpp 复制代码
with open('example.txt', 'w') as file:
    file.write("Hello, World!\n")

追加

python 复制代码
with open('example.txt', 'a') as file:
    file.write("Hello word\n")

JavaScripts

读文件(二进制格式)

javascript 复制代码
//创建读文件对象
const reader = new FileReader();
//读取文件内容,二进制格式
reader.readAsArrayBuffer(file);
//二进制格式读取完成后触发
reader.onload = function(e) {
    //获取文件内容
    const filedata = e.target.result;
    console.log(filedata)

};

读文件(URL格式)

javascript 复制代码
//创建读文件对象
const reader = new FileReader();
//读取文件内容,URL格式
reader.readAsDataURL(file);

//URL格式读取完成后触发
reader.onload = function(e) {
        const picdata = e.target.result;
        //可以将URL存入到img对象其中的src属性
        

写文件(保存图像)

FileSaver.js库保存图片

html 复制代码
   <script src="https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.js"></script>

SaveAs函数使用

假设服务器端发来了图片的二进制数据rece_picblob,则他是一个Blod对象

html 复制代码
saveAs(rece_picblob,"output.png");

字符串分割

python

直接使用内置函数split,返回值是一个列表,可以根据索引获取分割项。

python 复制代码
str =  "Hello word"
list = str.split(' ')
list_one = str.split(' ')[0]
list_two = str.split(' ')[1]

c++

cpp 复制代码
std::vector<std::string> split(const std::string &str,char splitchar)
{
    std::istringstream stream(str);
    std::string ele;
    std::vector<std::string> output;
    while(std::getline(stream,elemsplitchar))
    {
        output.push_back(ele);
    }
    return output;
}
相关推荐
励志不掉头发的内向程序员5 分钟前
STL库——AVL树
开发语言·c++·学习
晨非辰2 小时前
#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
海天一色y2 小时前
Pycharm(二十一)递归删除文件夹
ide·python·pycharm
haogexiaole2 小时前
vue知识点总结
前端·javascript·vue.js
励志码农4 小时前
JavaWeb 30 天入门:第二十三天 —— 监听器(Listener)
java·开发语言·spring boot·学习·servlet
天高云淡ylz4 小时前
子网掩码的隐形陷阱:为何能ping通却无法HTTPS访问
开发语言·php
智码看视界5 小时前
老梁聊全栈系列:(阶段一)架构思维与全局观
java·javascript·架构
汉克老师6 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(5、机甲战士)
c++·算法·蓝桥杯·01背包·蓝桥杯c++·c++蓝桥杯
希望20176 小时前
Golang Panic & Throw & Map/Channel 并发笔记
开发语言·golang
朗迹 - 张伟6 小时前
Golang安装笔记
开发语言·笔记·golang