在文件流中添加值

Adding values in filestream

本文关键字:添加 文件      更新时间:2023-10-16

例如,我有一个记数字的记事本。

1 2 3 4 5

然后我想在第三行添加4,即3,这样它的新值将是

1 2 7 4 5

问题是我该怎么做?请帮帮我,谢谢!

string add;
	cout<<"Enter value to be added: ";
	cin>>add;
	fstream file;
		file.open("quantity.txt");

你的问题不够准确,但我认为这是你所期望的:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
int main(int argc, const char *argv[]) {
    std::string filename;
    std::cout << "Enter name of file to modify: ";
    std::cin >> filename;
    std::ifstream inputFile;
    inputFile.open(filename);
    if(inputFile.fail()) {
        std::cout << "Unable to open file "" << filename << "" for readingn";
        return 1;
    }
    unsigned offset;
    std::cout << "Enter offset to modify: ";
    std::cin >> offset;
    int toAdd;
    std::cout << "Enter value to be added to line #" << lineNumber << ": ";
    std::cin >> toAdd;
    std::vector<int> nums;
    for(;;) {
        int num;
        inputFile >> num;
        if(inputFile.eof())
            break;
        nums.push_back(num);
    }
    inputFile.close();
    if(offset >= nums.length()) {
        std::cout << "Offset " << offset << " out of bounds!n";
        return 1;
    }
    nums[offset] += toAdd;
    std::ofstream outputFile;
    outputFile.open(filename);
    if(outputFile.fail()) {
        std::cout << "Unable to open file "" << filename << "" for writingn";
        return 1;
    }
    for(int num : nums)    // Warning: C++11
        outputFile << num << ' ';
    outputFile.close();
}