gpt4 book ai didi

c++ - 打开并读取名称在运行时给出的文件

转载 作者:行者123 更新时间:2023-11-30 01:28:53 24 4
gpt4 key购买 nike

我的问题是如何正确使用函数infile.open()

我有一个类,除其他外,它具有以下公共(public)属性:

class myclass {
public:
int rows
int columns
const char* array_file
}

所有值都在运行时给出。

当我调用使用类成员的函数时(pt 是指向类成员的指针)

#include <vector>
#include <fstream>
#include <iostream>
typedef std::vector< std::vector<int> > Matrixint;

void function(myclass* pt) {
Matrixint array_name(pt->rows, std::vector<int>(pt->columns));

std::ifstream infile;

infile.open("%s", pt->array_file); // my problem: is this correct?
for (int a = 0; a < pt->rows; a++) {
for (int b = 0; b < pt->columns; b++) {
infile >> array_name[a][b] ;
}
}
infile.close();

}

这种打开/读取文件的方式是否正确?

文件中的数据将被格式化为 this question (请注意:只有数组会出现在文件中,没有其他数据)

最佳答案

infile.open 的第一个参数是文件名:

void open ( const char * filename, ios_base::openmode mode = ios_base::in );

( source )

我不知道你的文件名是什么,但也许像这样(只是基于变量类型的猜测)可以做:

infile.open(pt->array_file); 

当然你必须确保你在调用该函数时传入的文件名是正确的。

关于c++ - 打开并读取名称在运行时给出的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6895327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com