在C中将数字转换为字符串的最佳方法?
发布时间:2020-12-16 10:34:03 所属栏目:百科 来源:网络整理
导读:参见英文答案 Easiest way to convert int to string in C++????????????????????????????????????27个 来自C#背景,在C#我可以这样写: int int1 = 0;double double1 = 0;float float1 = 0;string str = "words" + int1 + double1 + float1; ..和字符串的转
参见英文答案 >
Easiest way to convert int to string in C++????????????????????????????????????27个
来自C#背景,在C#我可以这样写: int int1 = 0; double double1 = 0; float float1 = 0; string str = "words" + int1 + double1 + float1; ..和字符串的转换是隐含的.在C中我理解演员必须是明确的,我想知道这个问题通常是由C程序员解决的? 我已经知道网上有很多信息,但似乎有很多方法可以做到,我想知道是否没有标准的做法? 如果你用C语言编写上面的代码,你会怎么做? 解决方法
C语言中的字符串只是字节容器,所以我们必须依靠其他功能来为我们完成此操作.
在C03的旧时代,我们通常使用I / O流的内置词法转换工具(通过格式化输入): int int1 = 0; double double1 = 0; float float1 = 0; std::stringstream ss; ss << "words" << int1 << double1 << float1; std::string str = ss.str(); 您可以使用各种I / O操纵器来微调结果,就像在sprintf格式字符串中一样(它仍然有效,并且在某些C代码中仍然可见). 还有其他方法,它们自己转换每个参数然后依赖于连接所有结果字符串. boost :: lexical_cast提供了这个,就像C 11的to_string一样: int int1 = 0; double double1 = 0; float float1 = 0; std::string str = "words" + std::to_string(int1) + std::to_string(double1) + std::to_string(float1); 然而,后一种方法无法控制数据的表示方式(demo). > (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |