中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++文件 如何正確讀寫

c++
小樊
81
2024-11-18 16:08:22
欄目: 編程語言

在C++中,讀寫文件需要使用C++的文件流庫<fstream>

  1. 首先,包含必要的頭文件:
#include <iostream>
#include <fstream>
#include <string>
  1. 打開文件:

使用std::ifstream類打開文件進行讀取。例如,打開名為input.txt的文件:

std::ifstream inputFile("input.txt");

如果文件打開成功,inputFile對象將處于良好狀態。如果文件打開失敗,可以使用is_open()函數檢查:

if (!inputFile.is_open()) {
    std::cerr << "Error opening file" << std::endl;
    return 1;
}
  1. 讀取文件內容:

使用>>運算符從文件中讀取數據。例如,讀取一個字符串:

std::string line;
if (std::getline(inputFile, line)) {
    std::cout << "Read line: " << line << std::endl;
} else {
    std::cerr << "Error reading line" << std::endl;
}

要讀取文件的每一行并將其存儲在字符串向量中,可以使用以下代碼:

std::vector<std::string> lines;
std::string line;
while (std::getline(inputFile, line)) {
    lines.push_back(line);
}
  1. 寫入文件:

使用std::ofstream類打開文件進行寫入。例如,打開名為output.txt的文件:

std::ofstream outputFile("output.txt");

如果文件打開成功,outputFile對象將處于良好狀態。如果文件打開失敗,可以使用is_open()函數檢查:

if (!outputFile.is_open()) {
    std::cerr << "Error opening file" << std::endl;
    return 1;
}
  1. 寫入文件內容:

使用<<運算符向文件中寫入數據。例如,寫入一個字符串:

outputFile << "Hello, World!" << std::endl;

要寫入多個字符串并將它們存儲在字符串向量中,可以使用以下代碼:

std::vector<std::string> lines = {"Line 1", "Line 2", "Line 3"};
for (const auto& line : lines) {
    outputFile << line << std::endl;
}
  1. 關閉文件:

完成文件操作后,使用close()函數關閉文件:

inputFile.close();
outputFile.close();

這是一個完整的示例程序,它讀取一個名為input.txt的文件,將其內容存儲在字符串向量中,然后將向量中的每個字符串寫入名為output.txt的文件:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

int main() {
    std::ifstream inputFile("input.txt");
    if (!inputFile.is_open()) {
        std::cerr << "Error opening file" << std::endl;
        return 1;
    }

    std::vector<std::string> lines;
    std::string line;
    while (std::getline(inputFile, line)) {
        lines.push_back(line);
    }

    inputFile.close();

    std::ofstream outputFile("output.txt");
    if (!outputFile.is_open()) {
        std::cerr << "Error opening file" << std::endl;
        return 1;
    }

    for (const auto& line : lines) {
        outputFile << line << std::endl;
    }

    outputFile.close();

    std::cout << "File copied successfully" << std::endl;
    return 0;
}

0
陕西省| 应城市| 琼海市| 屏南县| 西华县| 德清县| 新巴尔虎右旗| 莆田市| 盘锦市| 澄城县| 福州市| 衡水市| 安化县| 商城县| 长阳| 临澧县| 习水县| 马鞍山市| 增城市| 濮阳县| 洱源县| 昂仁县| 贞丰县| 汕尾市| 武汉市| 内黄县| 那曲县| 乡宁县| 高青县| 汉沽区| 青河县| 禹州市| 宝应县| 昭苏县| 南昌县| 吉首市| 本溪| 襄樊市| 夏河县| 秀山| 临清市|