我知道這個問題已經被問過一百萬次,但大多數問題比我需要的更復雜。我已經知道哪些行會有什麼數據,所以我只想將每行加載爲自己的變量。從C++中的文本文件加載變量
例如,在 「SETTINGS.TXT」:
800
600
32
然後,在代碼,行1被設定爲int winwidth,線2被設置爲int winheight和行3被設置爲int wincolor。
對不起,我很新的I/O。
我知道這個問題已經被問過一百萬次,但大多數問題比我需要的更復雜。我已經知道哪些行會有什麼數據,所以我只想將每行加載爲自己的變量。從C++中的文本文件加載變量
例如,在 「SETTINGS.TXT」:
800
600
32
然後,在代碼,行1被設定爲int winwidth,線2被設置爲int winheight和行3被設置爲int wincolor。
對不起,我很新的I/O。
也許你可以做最簡單的事情是這樣的:
std::ifstream settings("settings.txt");
int winwidth;
int winheight;
int wincolor;
settings >> winwidth;
settings >> winheight;
settings >> wincolor;
然而,這並不能保證每一個變量是在新的一行,並且不包含任何錯誤處理。
#include <iostream>
#include <fstream>
#include <string>
using std::cout;
using std::ifstream;
using std::string;
int main()
{
int winwidth,winheight,wincolor; // Declare your variables
winwidth = winheight = wincolor = 0; // Set them all to 0
string path = "filename.txt"; // Storing your filename in a string
ifstream fin; // Declaring an input stream object
fin.open(path); // Open the file
if(fin.is_open()) // If it opened successfully
{
fin >> winwidth >> winheight >> wincolor; // Read the values and
// store them in these variables
fin.close(); // Close the file
}
cout << winwidth << '\n';
cout << winheight << '\n';
cout << wincolor << '\n';
return 0;
}
ifstream可以與提取操作符>>一起使用,就像使用cin一樣。顯然還有很多文件I/O比這個更多,但是按照要求,這可以讓它簡單。
我沒有最終使用你的代碼,但我確實得到它的工作。不過謝謝你的回覆,邁克爾。 – user1637573
@ user1637573:如果您的問題已解決,則應將其標記爲已解決。否則,這太浪費時間了。 –