2017-11-08 10 views
-4

ファイルを作成した日付と時刻に従ってファイル名を付けたいとします。私は、日付と時刻を取得するには、このコードを使用しています:std :: stringからいくつかの文字を取得するにはどうすればいいですか?

auto time = std::chrono::system_clock::now(); 
std::time_t end_time = chrono::system_clock::to_time_t(time); 
std::string finaltime = std::ctime(&end_time); 

私は今、私はfinaltime -stringから必要ないけないすべてのスペースとの情報を排除したいです。この目的のために、私は必要な文字を見つけました。私は11,14,17以外のすべてが必要です(最初の文字は0で始まるカウンター)。

Pythonでは、2〜5のすべての文字が必要な場合は、mystring[2:5]と言うことができる非常に簡単な方法があります。私は

+5

を使用する必要がある文字を削除する別の方法は、[のstd ::文字列:: SUBSTR](HTTPがありそこsomethigは、C言語で同様のがあり++またはであります://en.cppreference.com/w/cpp/string/basic_string/substr)メンバ関数です。 – Ron

+0

文字を削除するための非常に明白な['erase'メンバ関数](http://en.cppreference.com/w/cpp/string/basic_string/erase)もあります。 –

答えて

1

がSUBSTR(a、b)はfunction

std::string str2 = finaltime.substr (3,5);  // 12:00 
+2

注:C++の['std :: string :: substr'](http://en.cppreference.com/w/cpp/string/basic_string/substr)には、pythonの部分文字列表記とは異なる引数があります。その答えに注意する必要があります。 –

関連する問題