簡體   English   中英

使用指針讀取和寫入文件

[英]Using pointers to read and write to a file

我是指針的新手,我的任務是從文件中讀取二維數組。 我必須使用接受參數(char * path)的函數。正如你所看到的,我正在手動輸入我想在代碼中打開的文本文件,但我想我必須使用指針,因為它是我的“read_from_file”函數。 我正在命令行接受用戶輸入,以查看他們想要使用下面的代碼讀取哪個文件。 我不確定如何使用 char* argv[] 作為將傳遞給我的 read_from_file(char *path) 的參數,以便我可以從用戶聲明的文件中讀取。 我從文件中讀取的代碼完全正常,但我只是想要一些有關指針的幫助。

int main(int argc, char* argv[]){

int read_from_file(char *path){



ifstream infile("file.txt");
string line;

std::vector<std::vector<int> > num;

std::string line;
while (std::getline(infile, line))

{
    std::vector<int> values;
    std::istringstream iss(line);
int value;
while (iss >> value)
{
    values.push_back(value);
}

num.push_back(values);
}
}

如果你不想要任何花哨的東西:

// Note: argv[0] is the name of the program itself, 1..n are actual arguments
for (int i = 1; i < argc; ++i) {
  read_from_file(argv[i]);
}

然后你可以在你的函數中使用它:

std::ifstream infile(path);

通常在 C++ 中,您應該將這樣的參數指定為const char*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM