• ベストアンサー

数値を std::string に変換

C++で 数値を std::string に変換 する方法はあるのでしょうか? << や += などやってみましたができませんでした。 やはりC同様に snprintf() などを使うしかないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

#include <sstream> #include <string> int n = -1234; std::ostringstream stream; stream << n; std::string result = stream.str();

hi-mi-tsu
質問者

お礼

ありがとうございます。 10進数で文字が入りました。 ノリとしては、ostream_iteratorとか、 データの変換などは、streamとか あたりを付けて調べていけばいいのかもしれないと思いました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VC++ std::stringからLPCWSTRに変換

    Visual C++ 2008を使用してTextBoxからの値(System::String)をmciSendString(LPCWSTR)に渡したいと思っています。 そこで自分はSystem::Stringをstd::stringに変換しそれから渡そうと思っているのですが・・・ 『error C2664: 'mciSendStringW' : 1 番目の引数を 'std::string' から 'LPCWSTR' に変換できません。』 のようにエラーが出ます。 当然そのまま与えてるので出るのは当たり前なのですが、キャストや変換の仕方が分からず調べ様にも困っている次第です。 C++に今回始めての挑戦で、右も左も分からないのですが、もしよろしければご指南頂けませんでしょうか?

  • double型をstd::string型に変換するには...

    VC++ .NETです。 double型をstd::string型に変換するには どうすれば、よいですか?

  • unsigned char SJis[2]からstd::stringに変換

    開発環境は VC++ 2008 Express Edition あるDLLの関数で戻り値としてShiftJISの1文字が格納された unsigned char SJis[2] が返され,これを呼び出し側のプログラムで使っている文字列 std::string str に順に追加していこうと思っています. そこで, unsigned char tmpSJis[3]; tmpSJis[0] = SJis[0]; tmpSJis[1] = SJis[1]; tmpSJis[2] = '\0'; str += std::string(tmpCode); というコードを書いてループさせたのですが, error C2440: '<function-style-cast>' : 'unsigned char *' から 'std::string' に変換できません。 というエラーが出てしまいうまく変換できません. これを解決する方法はありませんか?

  • c++のstd::stringについて

    VC++2008でフォームアプリケーションを作成しています。 シリアルポートから受け取った文字列の一部を抜き出して処理をするため,VBではmid関数に相当するような機能として,std::stringを使用しようとしています。 しかし, std::string str("ABC" ,1,2); とした場合は『BC』が問題なく返ってきましたが, std::string str(recieveddata ,1,2); のように,文字列の部分を変数にしたら,ビルドエラーになってしまいます。(ポインタ?を理解する必要があるのでしょうか?) どのようにすれば,VBのmid相当の機能を実現できるでしょうか?

  • C++型変換について

    C++を始めたばかりの初心者です VBからstringの引数をもらって C++のdllで処理をしてstringを返すものを考えています dll内で処理をするのにstd::stringに変換したいのですが 変換ほうほうがわかりません charをstd::stringへ std::stringをcharへの変換方法を教えてください 宜しくお願いします。

  • std::stringの継承

    #include <iostream> #include <string> class test : public std::string{ }; int main() { test tmp; tmp = "aaa"; } tmp = "aaa";ですが test::operator =(char *) が定義されていないとでますが何故なんでしょうか? string(basic_string)でoperator=が定義されていると思うのですが、 演算子の定義は継承されないのでしょうか。

  • std::stringを別のコンパイラで使うには?

    例えばあるコンパイラでコンパイルしたコードの中に以下のような関数があったとします。 void func( std::string& str ); この関数をプラグインとか、DLLとか、外部に公開したいのです。 しかし、std::stringの実装方法はコンパイラ付属のライブラリに依存するため、プラグインを書く人が別のライブラリを使用した場合、致命的なエラーが発生する可能性があると思います。 (1)できればライブラリを指定したくない (2)std::stringを自作するような再発明は避けたい (3)全てをchar*(wchar_t*)で構成するようなことは避けたい この3つの要件を満たす解はあるのでしょうか? std::stringに関連するソースだけ(再配布可能なら)配布するとか? しかし、配布していいとは思えませんので、条件2をあきらめて自作しようかなと考えています。もしくは、条件3をあきらめようかと考えています。 <質問1>上記条件を満たす解はありますか? <質問2>自作する場合、どのようにコードを少なくしますか? <質問3>そもそもこのような事態に陥ってしまった時点で設計に問題があるのでしょうか?同様の問題に直面した場合、どのように対処されましたか? 以上 よろしくお願いします

  • std::stringからLPCWSTR型への変換

    C++でファイルから読み込んだ文字列をLPCWSTR型に変換して用いたいのですが どうやって変換すればよいのでしょうか もしくは、最初からLPCWSTR型でファイルから読み込める方法などがあれば教えてください

  • stringについて

    C++初心者です。 このプログラムで続行するとエラーがでます。どうしたら無事実行することが出来るのでしょうか? #include<stdio.h> #include <iostream> using namespace std; int main(void) { string str("エラー"); cout << str<< endl; } エラー 1>c:\documents and settings\****\デスクトップ\zisyu12\zisyu12\main.cpp(58) : error C2679: 二項演算子 '<<' : 型 'std::string' の右オペランドを扱う演算子が見つかりません (または変換できません)。 . . . 以下省略

  • キャストの仕方(std::stringをconst char*へ)を教えてください。

    c++で作成したものをコンパイルしたところ、 下記のようなエラーメッセージが表示されました。 cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘int stat(const char*, stat*) 自分の解釈では、 stat関数の第1引数がconst char*なのに、 プログラムの中では  #include <sys/types.h>  #include <sys/stat.h>  using namespace std;   :  string aaa;   :  struct stat st;  if(stat(aaa,&st)!=-1){・・・   : という感じで記述しているので、 型が変換できない という感じのことを言っているのかなぁ・・・? と思っているのですが、間違いですか? また、間違えていないとしたら・・・、 このstringで宣言しているaaaをchar*(?)にキャストする方法 と言いますか、このエラーを解決する方法を教えてください。 毎度のことですが、理解不十分で、質問の意味が通じにくいかも しれませんが、どうか宜しくお願いいたします。m(_ _)m