Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1466998
  • 博文数量: 218
  • 博客积分: 6394
  • 博客等级: 准将
  • 技术积分: 2563
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-08 15:33
个人简介

持之以恒

文章分类

全部博文(218)

文章存档

2013年(8)

2012年(2)

2011年(21)

2010年(55)

2009年(116)

2008年(16)

分类: C/C++

2010-08-18 15:49:29

将Int、Double转化成std::string
CString中可以使用Format
#include "stdafx.h"
#include
#include
#include
template

std::string ConvertToString(T);
 
int main() {
 std::string s;
 
// Convert int to std::string
 int i = 123;
 s = ConvertToString(i);
 std::cout << s << std::endl;
 
 // Convert double to std::string
 double d = 123.123;
 s = ConvertToString(d);
 std::cout << s << std::endl;
 getchar();
 return 0;
}
 
template
std::string ConvertToString(T value) {
 std::stringstream ss;
 ss << value;
 return ss.str();
}
=================================================================================
加MSDN上的例子
#include
void main( void )
{
   char  buffer[200], s[] = "computer", c = 'l';
   int   i = 35, j;
   float fp = 1.7320534f;
   /* Format and print various data: */
   j  = sprintf( buffer,     "\tString:    %s\n", s );
   j += sprintf( buffer + j, "\tCharacter: %c\n", c );
   j += sprintf( buffer + j, "\tInteger:   %d\n", i );
   j += sprintf( buffer + j, "\tReal:      %f\n", fp );
   printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
}
Output:
String:    computer
Character: l
   Integer:   35
   Real:      1.732053
character count = 71
阅读(6960) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

GilBert19872010-08-21 12:43:37

嗯,主要是原来对stringstream不熟,经常用CString的Format

chinaunix网友2010-08-18 16:08:11

还可以用sprintf/swprintf来实现