ベストアンサー double型をstd::string型に変換するには... 2006/02/02 20:52 VC++ .NETです。 double型をstd::string型に変換するには どうすれば、よいですか? みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー jacta ベストアンサー率26% (845/3158) 2006/02/02 21:05 回答No.1 double x = 1.234; // 変換元のdouble値 std::ostringstream oss; oss << x; std::string str( oss.str() ); // 変換後の値 質問者 お礼 2006/02/04 13:12 できました。 ありがとうございました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発C・C++・C# 関連するQ&A 数値を std::string に変換 C++で 数値を std::string に変換 する方法はあるのでしょうか? << や += などやってみましたができませんでした。 やはりC同様に snprintf() などを使うしかないのでしょうか? 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' に変換できません。 というエラーが出てしまいうまく変換できません. これを解決する方法はありませんか? VC++ std::stringからLPCWSTRに変換 Visual C++ 2008を使用してTextBoxからの値(System::String)をmciSendString(LPCWSTR)に渡したいと思っています。 そこで自分はSystem::Stringをstd::stringに変換しそれから渡そうと思っているのですが・・・ 『error C2664: 'mciSendStringW' : 1 番目の引数を 'std::string' から 'LPCWSTR' に変換できません。』 のようにエラーが出ます。 当然そのまま与えてるので出るのは当たり前なのですが、キャストや変換の仕方が分からず調べ様にも困っている次第です。 C++に今回始めての挑戦で、右も左も分からないのですが、もしよろしければご指南頂けませんでしょうか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム c++のstd::stringについて VC++2008でフォームアプリケーションを作成しています。 シリアルポートから受け取った文字列の一部を抜き出して処理をするため,VBではmid関数に相当するような機能として,std::stringを使用しようとしています。 しかし, std::string str("ABC" ,1,2); とした場合は『BC』が問題なく返ってきましたが, std::string str(recieveddata ,1,2); のように,文字列の部分を変数にしたら,ビルドエラーになってしまいます。(ポインタ?を理解する必要があるのでしょうか?) どのようにすれば,VBのmid相当の機能を実現できるでしょうか? 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>そもそもこのような事態に陥ってしまった時点で設計に問題があるのでしょうか?同様の問題に直面した場合、どのように対処されましたか? 以上 よろしくお願いします String""から型'Double'への変換は無効です。 とエラーが出ます。 こんにちわ。初心者です。よろしくお願いします。 VB2005においてプログラムを実行したところ、 「String""から型'Double'への変換は無効です。」 というエラーが出ます。対処法を教えていただけると助かります。 どうかよろしくお願いします。 C++型変換について C++を始めたばかりの初心者です VBからstringの引数をもらって C++のdllで処理をしてstringを返すものを考えています dll内で処理をするのにstd::stringに変換したいのですが 変換ほうほうがわかりません charをstd::stringへ std::stringをcharへの変換方法を教えてください 宜しくお願いします。 UNICODE環境でCStringをstd::stringにコピーしたいのですが UNICODE環境でCStringをstd::stringにコピーしたいのですがどうすればよいのでしょうか? どなたか助けてください。 STLのto_stringにlong double こんばんは。 STLにto_string関数を見つけました。 変数の型を見るとlong doubleもサポートしているようなので値を入れてみたところfloat値を文字列に変換したものしか得られませんでした。 どのようにすればlong doubleを文字列として取得できるのでしょうか? 環境はVisualStudio2013です。 キャストの仕方(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 boost::formatの値をstring型にコピーしたい boost::formatの値をstring型にコピーしたいのですが、うまくいきません。boost自体初めてで以下のサイトからダウンロードし、展開後VS2005のVCのインクルードフォルダーにboostフォルダーをまるまるコピーしただけですが・・・ http://sourceforge.net/project/showfiles.php?group_id=7586 boost 1.34.1 #include <iostream> #include <boost/format.hpp> using namespace std; using boost::format; void main(){ double x = 1.234; string str("abc"); //cout << format("%10.3f, [%16s]") % x % str << endl; // サンプルはこうでした。 // いったんstring型に入れて表示させたい。 string y; y = boost::format("%10.3f, [%16s]") % x % str; // エラー箇所 std::cout << y << std::endl; } AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム 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' の右オペランドを扱う演算子が見つかりません (または変換できません)。 . . . 以下省略 C#でString型からDelegate型への変換 delegate double 三角関数(double a); 三角関数 foo = Math.Sin; これと同様のことを 三角関数 foo = なんらかの変換("Math.Sin"); というようにString型変数を関数の名前としてDelegateに渡したいです。このような事は可能でしょうか。 CString型からdouble型への変換 C++は初心者です。VC4.0を使っていますがMFCなどは使っていません。 CString型の変数をint型やlong型への変換はなんとかできたのですが、double型へ変換することができずに困っています。atofを使えばいいのだと思い下記のように記述したのですが、コンパイルするとエラーがでます。 CString sample = "0.234"; double i; i = atof((const char*)sample); error C2440: 'type cast' : cannot convert from 'class CString' to 'const char *' どう直せば無事にdouble i に0.234を格納できるのでしょうか?よろしくお願いします。 VC++ DateTimeを使った現在時刻取得 VC++(CLI)で、現在時刻をstd::string文字列として、取得しようとしています。 時刻取得に、DateTime::ToStringを使うと、System::String でしか取得できません。 DateTime dt = DateTime::Now; String^ st= dt.ToString("HH:mm:ss"); ↑この形式で、std::string文字列を取り出したい。 System::String から std::stringへの変換は、単純なキャストではなく変換処理が必要なので、他の方法を探しています。 他に思いつくのは、標準関数のtime.h localtimeから変換する方法くらいですが、他にstd::stringで必d家を取得する方法があれば教えてください。 環境: Win7 VC++2010 Express std::cout << p と std::cout << *p の違 std::cout << p と std::cout << *p の違いは? VC++でコードを書きながらC++を学んでいます。 ポインタで疑問に思ったことがあるので質問させて下さい。 int* p; int n = 100; p = &a; 上記のように変数を宣言・代入した場合、 std::cout << p と std::cout << *p のどちらでも"100"と表示されます。 これら二つの違いは何でしょうか? 本来*pとすべきところをpにしてもVC++が気を利かせて &pのアドレスに入っているデータを表示してくれているということでしょうか? String型をchar型配列にしたい VC++2005ExpressEdition + PlatformSDKを使用しています. String型をchar型配列に変換したいと思っています. 自分なりに調べてみたのですが, > String^ str = gcnew String("test"); > char chr[5]; > chr = str->ToCharArray(); などとしても次のようなエラーが出ます. > error C2440: '=' : 'cli::array<Type,dimension> ^' から 'char [5]' に変換できません。 String型からchar型配列への変換はどのようにすればいいのでしょうか. std::stringからLPCWSTR型への変換 C++でファイルから読み込んだ文字列をLPCWSTR型に変換して用いたいのですが どうやって変換すればよいのでしょうか もしくは、最初からLPCWSTR型でファイルから読み込める方法などがあれば教えてください C#におけるstringとstring[]データの変換 お世話になります。C#をはじめて使っています。 いま行おうとしているのがコモンダイアログからファイル名を取得して、CSVファイルを読み出そうとしています。 OpenFileDialogから出力されるファイル名はstring[]と配列になり(すいません、C#でも”配列”といっていいのですよね?) CSVを開くためのTextFieldParserの引数はstringになります。Cならポインタで変換できるのですが、C#はポインタがないため、いくつか試しましたが、うまく変換でききませんでした。 たとえば string a; string[] b: で a=b; a=(string)b; a=convert.tostring b; 全部だめでした、どなたかご存知の方お見えになれば教えていただけると助かります。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
できました。 ありがとうございました。