0

次のコードを使用して、ビジュアルC ++でユーザーから入力を取得しています

Console::WriteLine("Select the Cache Size.\n a. 1 Kb \n b. 2 Kb \n c. 4 Kb \n d. 8 Kb\n");
    String^ CACHE_SIZEoption = Console::ReadLine();
    Char wh= Char(CACHE_SIZEoption);

    switch(wh)
    {case 'a':
    break;

    case 'b':
    break;

    case 'c':
     break;

    case 'd':
    break;
    }

これで、文字列から文字への変換でエラーが発生しています..

 error C2440: '<function-style-cast>' : cannot convert from 'System::String ^' to 'wchar_t'
4

2 に答える 2

2

文字列を文字に変換できると期待するのは非現実的です。文字列には、0、1、またはそれ以上の文字を含めることができます。あなたはどのキャラクターが欲しいですか?

最初の文字が必要な場合はCACHE_SIZEoption[0]、文字列が空でないことを確認してから , を使用します。

あなたの場合、文字列の長さが正確に 1 であることを確認するチェックを追加する必要があります。それ以外の場合は、ユーザーの入力が無効であることを意味します。確認してくださいCACHE_SIZEoption->Length

于 2013-05-03T11:05:12.227 に答える
0

私は試してみます

Char wh= CACHE_SIZEoption[0];

また

Char wh= CACHE_SIZEoption->ToChar();

ここにあります: http://msdn.microsoft.com/en-us/library/bb335877%28v=vs.110%29.aspx

于 2013-05-03T11:10:52.757 に答える