C++ 中 基础类型转换成 char*
有时候我们在项目中难免会用到,将基础数据类型转换成char*,这样会方面一些业务上的开展。前一阵子做基于mips 平台下 阿里云Log Service时候就用到了,由于考虑要封装sdk的轻量性,所以没有考虑依赖其他的系统库。
以下demo 代码依赖如下系统库,
#include <stdio.h> #include <string>
|
基础数据类型的相互转换其实有多种方式。以下多是通过 printf
方式来完成的。
int 转 char *
char* int_to_char_ptr(int src) { char result[30] = ""; sprintf(result, "%d", src); char* ret_value = result; return ret_value; }
|
double 转 char*
char* double_to_char_ptr(double src) { char result[30] = ""; sprintf(result, "%lf", src); char* ret_value = result; return ret_value; }
|
float 转 char*
char* float_to_char_ptr(float src) { char result[30] = ""; sprintf(result, "%f", src); char* ret_value = result; return ret_value; }
|
size_t 转 char*
char* size_t_to_char_ptr(size_t value) { char result[30] = ""; sprintf(result, "%zu", value); char * ret_value = result; return ret_value; }
|
string 转 char*
char* str_to_char_array(std::string value) { return const_cast<char*>(value.c_str()); }
|
char* 转 string
std::string char_ptr_to_str(const char* value) { std::string res; res = value; return res; }
|
Author: David硕
Permalink: http://davidxiaoshuo.github.io/c++/cplus_type_convert/
License: Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan: Write readable code!