整数から文字列に転換する方法 – プログラミング – Home

整数から文字列に転換する方法
 
通知
すべてクリア

整数から文字列に転換する方法


afei
 afei
(@afei)
ゲスト
結合: 16年前
投稿: 1
Topic starter  

整数から文字列に転換したいですが、どうすればいいですか??

#include <stdio.h>
#include <String>
using namespace std;

int main(){
int a = 123;
int b = 456;

string A,B,C;

sprintf((char *)A,%d,a);
sprintf((char *)B,%d,b);

C = A + B;

printf(%s\n,C);
}

エラー error C2440: '型キャスト' : 'std::string' から 'char *' に変換できませ
ん。


引用解決済
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

int a = 123;
int b = 456;

string A,B,C;
char buf[1024];
sprintf(buf, %d, a);
A = buf;
sprintf(buf, %d, b);
B = buf;

C = A + B;
printf(%s\n, C.c_str());

あと、stringstreamを使う方法もある。
もっと良い方法もありそうだけど、今思いつかない、or 知らない。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> あと、stringstreamを使う方法もある。

#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main(){
int a = 123;
int b = 456;

string A,B,C;
ostringstream stream;

stream << a;
A = stream.str();
cout << A << endl;

stream.str("); // 一旦クリアしないと前回のが残る
stream << b;
B = stream.str();
cout << B << endl;

C = A + B;
cout << C << endl;
}

> もっと良い方法もありそうだけど

Boost.lexical_cast とかですかねー
# ナカミは stringstream なんだけども


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

ちなみにですが、

string A,B,C;

sprintf((char *)A,%d,a);
sprintf((char *)B,%d,b);

この記述の何処がまずいのかちゃんと理解しておいた方が良いですよ。
間違いから得られる知識もとても大事ですから。


返信引用
アキラ
 アキラ
(@アキラ)
ゲスト
結合: 23年前
投稿: 49
 

こんなのを用意してあげるといいです。

std::string to_string(int value)
{
std::stringstream ss;
ss << value;
return ss.str();
}

int value = 314;
std::string str = to_string(value); // 文字列に変換


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました