プロが教えるわが家の防犯対策術!

C++初心者です。
WindowsPhoneで時計の自作アプリを作ろうと思うのですがうまくいきません…

現在の時間を取得してきて、TextBlockに表示させようとしている所でエラーが出ます。

問題のコードはこれです。
(ボタンを押すと現在の時間を取得して、TxtB2に表示するようにしたいです。)

void WPClockTimer::MainPage::Btn1_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
time_t timer;
struct tm t_st;

//現在時刻の取得
time(&timer);

//現在時刻を文字列にして表示
//printf("現在時刻:%s\n", ctime(&timer));

//現在時刻を構造体に変換
localtime_s(&t_st, &timer);
printf("月: %d\n", t_st.tm_mon + 1); /* 月は+1 */
printf("日: %d\n", t_st.tm_mday);
printf("時: %d\n", t_st.tm_hour);
printf("分: %d\n", t_st.tm_min);
printf("秒: %d\n", t_st.tm_sec);

//そのままではTxtBで表示できないので型変換
   //TxtBがPlatform Stringだから変換しないといけない

int a = t_st.tm_hour;
int b = t_st.tm_min;
int c = t_st.tm_sec;

std::string s1 = std::to_string(a);
std::string s2 = std::to_string(b);
std::string s3 = std::to_string(c);

   //ここでエラーが出る
Platform::String^ str1 = s1;
Platform::String^ str2 = s2;
Platform::String^ str3 = s3;



   //これでTextBlockに表示
TxtB2->Text = str1, ":", str2, ":", str3;

}

A 回答 (1件)

エラーの内容が書かれていないのでなんとも言えませんが、ちょっと調べた限りでは以下のように書くようです。


---
std::wstring s1 = std::to_wstring(a);
std::wstring s2 = std::to_wstring(b);
std::wstring s3 = std::to_wstring(c);

Platform::String^ str1 = ref new String(s1.c_str());
Platform::String^ str2 = ref new String(s2.c_str());
Platform::String^ str3 = ref new String(s3.c_str());
---
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!