C++ 字符串

Chr1sGardn3r@10 2015-05-13 09:25:20
比如说有这么一个类

class A
{
//假设三位数001代表1号站点
int m_StationID;

//例如:201505152115代表2015年05月15日21点15分
int m_SattionTime;

//自行车状态,有两种情况
//还车为1,借车为0
int m_StationBikeState;

//用户姓名
char m_UserName;

//将三个参数转换成字符串
//例如将在001站点2015年05月15日21点15分时Jim借车这一条记录
//转换成001201505152115Jim0
char a(int m_StationID,int m_SattionTime,char m_UserName,int m_StationBikeState);
}

在C++中如何将一系列的属性转换成一条字符串
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-05-15
  • 打赏
  • 举报
回复
作为一个C程序员,对 scanf,sscanf,fscanf printf,sprintf,fprintf 这类函数的用法,还是要做到“拳不离手,曲不离口”的。
苏叔叔 2015-05-14
  • 打赏
  • 举报
回复
1. int m_SattionTime; 32位的int类型无法装下这么长的数据 2.

//把i1、i2和c拼接成字符串
int main(void)
{
	int i1 = 12;
	int i2 = 520;
	char c = 'a';
	int r1, r2;
	char buf[20];
	r1 = sprintf(buf, "%d", i1);
	r2 = sprintf(buf + r1, "%d", i2);
	sprintf(buf + r1 + r2, "%c", c);
	printf("%s\n", buf);   //12520a
	return 0;
}
fly_dragon_fly 2015-05-14
  • 打赏
  • 举报
回复
用sprintf简单,m_SattionTime这个时间是怎么表示的
此后三年 2015-05-14
  • 打赏
  • 举报
回复
char str[100] = {}; int year = 2015; int month = 02; int day = 05; sprintf(str, "%d%d%d", year, month, day);
Chr1sGardn3r@10 2015-05-14
  • 打赏
  • 举报
回复
引用 5 楼 yao19941010 的回复:
[quote=引用 3 楼 fly_dragon_fly 的回复:] 用sprintf简单,m_SattionTime这个时间是怎么表示的
我拼错了吧 应该是m_StationTime[/quote] 噢噢,我只是想用一串数字来表示年月日时分
Chr1sGardn3r@10 2015-05-14
  • 打赏
  • 举报
回复
引用 3 楼 fly_dragon_fly 的回复:
用sprintf简单,m_SattionTime这个时间是怎么表示的
我拼错了吧 应该是m_StationTime
iyomumx 2015-05-13
  • 打赏
  • 举报
回复
首先返回一个char是取不了字符串的,要么是char*要么是std::string。既然是用C++了那么自然是推荐std::string。 组合字符串的方式不少,不过C++的stringstream太“重”了,用sprintf好了,而且你的字符串长度是可以预测的,用起来还是很方便的。

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧