42107


プログラミング初心者です。  
char str [] = "100.00"; double value; という左記の配列において、  
strの文字列をdoubleに変換し、その結果をvalueに格納する文を作成したいです。

以下のコードを作成してデバッグしてみたのですが、何も起こりませんでした。  
正しく格納されたという認識でよろしいでしょうか。

[code]

    #include <iostream>
    #include <string>
    #include <iomanip>
    using namespace std;
    　　　　
    int main()
    {
        char str[] = "100.00";
        double value;
        value = atof(str);
    
        return 0;
    }
    
[/code]


CC BY-SA 3.0
2018-03-03T16:36:55.817
42106
2018-03-03T17:40:37.757
2018-03-03T17:40:37.757
3060
26303
question
c++
c++のatof(文字列/浮動小数点数)について


何もおこらないのは、代入しただけで、何もしていないからです。代入が成功したか確認するために、結果を表示してみましょう。

[code]

    #include <iostream>
    #include <string>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
        char str[] = "100.00";
        double value;
        value = atof(str);
        cout << value << endl;
        return 0;
    }
    
[/code]

`cout << value << endl;` というのが表示の処理です。

余談ですが、ごく一部のC++プログラマの間では `cout` というのは人気がありません。  
`cout` はC++における標準的な表示方法なので、初学者が使う分には問題はありません。  
宗教上の理由（？）により `cout` を積極的に使う人と、避ける人がいます。  
私は `cout` を使わない派なので、代わりに `printf` 関数を使います。  
`printf("%f\n", value);` と書いても、値を表示することができます。  
これは古くからあるC言語のやり方で、どちらが良いかは賛否あり、  
性能とか、安全性とか、読みやすさとか、単なる好みとか、  
宗教論争にさえなります。


CC BY-SA 3.0
2018-03-03T16:57:53.927
42107
2018-03-03T16:57:53.927
3337
42106
answer