2

私がこのように書く場合:

    ShellExecute(NULL, "open", "www.google.com", NULL, NULL, SW_SHOWNORMAL);

すべてが大丈夫であり、それがそうである必要があります。

しかし、ユーザーが行きたい場所にリンクを入力できるようにしたいと思います。

std::cout<<"Enter the link: ";
            char link;
            std::cin>>link;
        ShellExecute(NULL, "open", link, NULL, NULL, SW_SHOWNORMAL);

この場合、invalid conversion from 'char' to 'const CHAR*エラーが発生します。

それで、これを適切に行う方法はありますか?

4

2 に答える 2

5

コードは、リンクとして1文字しか取得しません。リンクをリンクの値を保持できるタイプにし、stdioを読み込む必要があります。リンクをstd :: stringにするとこれが実行されますが、ShellExecuteに渡される方法に注意する必要があります。

std::cout<<"Enter the link: ";
std::string link;
std::cin>>link;
ShellExecute(NULL, "open", link.c_str(), NULL, NULL, SW_SHOWNORMAL);
于 2012-06-23T10:23:23.533 に答える
0

入力を char* として宣言する必要があります

char *link = new char[2048];

...
delete[] link;

ShellExecute の const char* は、入力を変更しないという単なる約束です。宣言を変更すると、すべてが期待どおりに機能するはずです。

于 2012-06-23T10:20:47.983 に答える