所以現在我試圖編寫一個需要用戶輸入日期的程序,如下所示:02/04/1992,輸出日期是這樣的:1992年4月2日。而不是像程序中的字符串或其他類似的日期,我有一個文本文件,其日期列表如下:試圖從文本文件中讀取一個列表,然後搜索文本文件,然後在C++中提取一個字符串
01年1月
02February
03March
.. 等等。
我知道我必須使用string.find(),但我不知道我應該使用什麼參數。到目前爲止,我有這樣的:
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string thedate; //string to enter the date
string month; // this string will hold the month
ifstream myfile ("months.txt");
cout << "Please enter the date in the format dd/mm/yyyy, include the slashes: " << endl;
cin >> thedate;
month = thedate.substr(3, 2);
string newmonth;
if (myfile.is_open())
{
while (myfile.good())
{
getline (myfile,newmonth);
cout << newmonth.find() << endl;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
我檢查查找功能在線,但我還是不明白,我會用什麼參數。現在在我的程序中,格式爲mm的月份存儲在字符串month中;我無法弄清楚如何在月份內查找文本文件,並返回該行的其餘部分。例如,05將成爲May。我還沒有學習過陣列,所以如果我可以遠離這些陣容,那就太棒了。
謝謝。
[cppreference.com](http://en.cppreference.com/w/cpp/string/basic_string/find)很好地解釋了'std :: string :: find()'的參數。 –
@CaptainObvlious我新編程,所以我真的不明白什麼std :: npos等意味着在他們的代碼?無論哪種方式,我都看不到任何解釋如何使用字符串作爲參數來搜索某些東西的東西。 –