1. ホーム
  2. c++

[解決済み] C++の文字列からダブルへの変換

2022-03-04 05:47:51

質問

通常、私がC++で何かを書いている時に char にしています。 int 私は単に新しい int は char に等しい。

私はこのコード(スニペット)を使いました。

 string word;  
 openfile >> word;
 double lol=word;

というエラーが表示されます。

Code1.cpp cannot convert `std::string' to `double' in initialization 

このエラーは具体的に何を意味しているのでしょうか?最初の単語は数字の50です。ありがとうございます :)

解決方法を教えてください。

機械にとってintとcharは同じ8ビットですから、charからintへの変換は簡単です。唯一の違いは、画面に表示する場合です。

他の型では、メモリへの保存方法が異なるため、状況が変わってきます。C言語には、文字列からdoubleへの変換を簡単に行える標準関数があり、それがatofです。(stdlib.hをインクルードする必要があります)。

#include <stdlib.h>

int main()
{
    string word;  
    openfile >> word;
    double lol = atof(word.c_str()); /*c_str is needed to convert string to const char*
                                     previously (the function requires it)*/
    return 0;
}