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;
}
相关推荐
jayson.h15 小时前
可视化界面
开发语言·python
weixin_4440129315 小时前
CSS如何快速实现网站换肤功能_利用CSS变量重置全局颜色方案
jvm·数据库·python
kgduu15 小时前
python中的魔法方法
开发语言·python
m0_5967490915 小时前
Vue.js计算属性computed依赖追踪与副作用函数effect关联机制
jvm·数据库·python
计算机安禾15 小时前
【c++面向对象编程】第21篇:运算符重载基础:语法、规则与不可重载的运算符
java·前端·c++
fox_lht15 小时前
12.3.使用生命周期使引用一直有用
开发语言·后端·rust
神明93115 小时前
Golang testing怎么写单元测试_Golang单元测试教程【经典】
jvm·数据库·python
开发者联盟league15 小时前
在cursor中配置c/c++开发环境
c语言·开发语言·c++
初圣魔门首席弟子15 小时前
bug 2026.05.15(以前能运行的java springboot项目突然间不能运行后台数据了)
java·开发语言·bug
求知也求真佳15 小时前
S19|MCP 与插件:多 Agent 平台 —— 外部能力总线,让外部工具安全接入
开发语言·agent