前提
C++を独学している初学者です(タイトルが誤解を生むものだった場合はすみません)。
現在、「年月日(yyyymmdd)から月部分(mm)を取り出して表示する関数」というものを作成しています。
しかし”取り出した月部分(mm)を変数に格納”の部分が上手くいきません。
実現したいこと
- 取り出した月部分(mm)を変数(mon)に格納出来る
発生している問題・エラーメッセージ
test.cpp: In function 'void getMonth(char&, char&)': test.cpp:14:12: error: cannot convert 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'char' in assignment 14 | cmon = str; | ^~~ | | | std::string {aka std::__cxx11::basic_string<char>}
該当のソースコード
C++
1/* ヘッダ */ 2#include <iostream> 3#include <string> 4 5/* getMonth関数 */ 6void getMonth (char &cymd, char &cmon) 7{ 8 std::string str = &cymd; 9 10 std::string substr = str.substr(4, 2); 11 12 std::cout << substr << std::endl; 13 14 cmon = substr; 15} 16 17/* メイン処理 */ 18int main () 19{ 20 char ymd[8+1] = "20220727"; 21 char mon[2+1] = ""; 22 23 std::cout << ymd << "\n"; 24 std::cout << mon << "\n"; 25 26 getMonth(*ymd, *mon); 27 28 std::cout << ymd << "\n"; 29 std::cout << mon << "\n"; 30 31 return 0; 32}
試したこと
・getMonth関数を個別の機能ごとに確認
⇒月部分の抽出は出来ている
・ポインタや変数などの変更
補足情報(FW/ツールのバージョンなど)
VScode(ver: 1.69.2)

回答3件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/08/03 07:42