vs里面bool类型如何转换为string类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs里面bool类型如何转换为string类型相关的知识,希望对你有一定的参考价值。
就是VC++.net里的 System::String类型在C#里是 System.String
而在 c++.net 里,为表示引用,所以后面加了一个^。
.net提供的所有引用类型,在vc++.net里,
都是这样的。
比如 Object^ obj = gcnew Object();
你把代码改成这样
String^ savePath ="C:\\FileName.txt";
StreamWriter^ sww = File::CreateText(savePath);
String^ text = "IBM 2008 年 12 月 0.0971351415 9% 变化";
sww->WriteLine(text);
sww->Close();
因为sww->WriteLine(eachRes);
你这里eachRes是一个char*,
而WriteLine没有直接接受参数为char*的重载,会转化为bool类型,所以只会在文件中输出一个True,不会输出字符串。因为此char*不为空。
回答于 2016-06-01
赞同9
已采纳
品牌洗衣机质量排行榜前十名京东家电,一键开启智能生活!

威力5.5公斤全自动波轮迷你洗衣机小型洗衣机宿舍公寓适用13分钟快速洗衣单独脱水一键洁桶 XQB55-5599A(DS)【10大洗涤模式】
¥599 元

洗衣机全自动小型家用迷你10公斤大容量波轮宿舍洗脱一体 /静音 8.5kg蓝光杀菌+智能风干+十年质保顺丰速发
¥729 元

学生宿舍用的小型洗衣机 10kg洗衣机全自动波轮家用租房用小型带烘干洗脱一体萨米格 8点0kg金色/智能风干/蓝光 10大洗衣程序
¥819 元

美的波轮洗衣机全自动 强净除螨安静节能免清洗防缠绕 京品家电旗舰店 【10公斤】除螨洗+免清洗+筒自洁
¥1048 元
京东广告
手机-「京东」手机,劲爆低价,超值炫酷值得买!

vivo iQOO U5x手机【享碎屏险+全国联保】大内存 5000mAh大电池 骁龙680 全网通 星光黑 8GB+128GB 套装版
¥1029 元

vivo iQOO U5x手机【享碎屏险+全国联保】大内存 5000mAh大电池 骁龙680 全网通 星光黑 8GB+128GB 标配版
¥949 元

vivo iQOO U5x手机【享碎屏险+全国联保】大内存 5000mAh大电池 骁龙680 全网通 星光黑 8GB+128GB 标配版
¥949 元

vivo iQOO U5x手机【享碎屏险+全国联保】大内存 5000mAh大电池 骁龙680 全网通 星光黑 4GB+128GB 标配版
¥849 元
京东广告
洗衣机十大名牌排行-京东11.11,巅峰冲刺28小时,京东家电,热卖ing!
洗衣机十大名牌排行-京东11.11,11月10日晚8点,巅峰冲刺28小时,京东家电每满299减50,快来看看!
广告
C语言怎么用printf输出字符串。
C语言怎么用printf输出字符串printf函数的一般格式printf(格式控制字符串,输出表列);以图1所示为例。图1.函数参数包括两部分:【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。它包括两种信息:●格式说明项:由%和格式字符组成,如%d,%f等。格式说明总是由%字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式说明项。● 普通字符:即需要原样输出的字符,如逗号和换行符。【2】输出列表,是需要输出的一些数据项,可以是表达式。例如:假如a=3,b=4,那么printf("a=%db=%d",a,b);,输出a=3b=4。其中两个 “%d”是格式说明,表示输出两个整数,分别对应变量a,b。“a=”,“b=”是普通字符,原样输出。由于printf是函数,因此,格式控制字符串和输出表列实际上都是函数的参数。printf函数的一般形式可以表示为:printf(参数1,参数2,参数3,…,参数n)printf函数的功能是将参数2到参数n按照参数1给定的格式输出。【3】格式字符 (构成格式说明项)对于不同类型的数据项,应当使用不同的格式字符构成的格式说明项。常用的有以下几种格式字符:(按不同类型数据,列出各种格式字符的常用用法)【d格式符】用来输出十进制整数。有以下几种用法:● %d,按照数据的实际长度输出。● %md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则左端补以空格(右对齐);若大于m,则按照实际位数输出。● %-md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则右端补以空格 (左对齐);若大于m,则按照实际位数输出。● %ld,输出长整型数据,也可以指定宽度%mld。【o格式符】以八进制形式输出整数。注意:是将内存单元中的各位的值按八进制形式输出,输出的数据不带符号,即将符号位也一起作为八进制的一部分输出。例如:inta=-1;printf("%d,%o,%x",a,a,a);-1的原码:1000,0000,0000,0001。-1在内存中的补码表示为:1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff输出:-1,177777,ffff【s格式符】用来输出一个字符串。有以下几种用法:● %s,输出字符串。● %ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则左补空格 (右对齐)。● %-ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则右补空格 (左对齐)。● %m.ns,输出占m列,但只取字符串左端n个字符,左补空白 (右对齐)。● %-m.ns,输出占m列,但只取字符串左端n个字符,右补空白 (左对齐)。【 f 格式符】用来输出实数 (包括单、双精度,单双精度格式符相同),以小数形式输出。有以下几种用法:● %f,不指定宽度,使整数部分全部输出,并输出6位小数。注意,并非全部数字都是有效数字,单精度实数的有效位数一般为7位 (双精度16位)。● %m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,左端补空格(右对齐)。● %-m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,右端补空格(左对齐)。【 e 格式符】以指数形式输出实数。可用以下形式表示:● %e,不指定输出数据所占的宽度和小数位数,由系统自动指定。如6位小数,指数占5位,-e占1位,指数符号占1位,指数占3位。数值按照规格化指数形式输出 (小数点前必须有而且只有1位非0数字)。
帐号已注销
101点赞1评论
更多专家
String^ (S大写,后有^符)到底是什么类型,1:如何用printf 输出的。。。重赏。2:如何转换为string(小写)
专家1对1在线解答问题
5分钟内响应 | 万名专业答主
马上提问
最美的花火 咨询一个电子数码问题,并发表了好评
lanqiuwangzi 咨询一个电子数码问题,并发表了好评
garlic 咨询一个电子数码问题,并发表了好评
188****8493 咨询一个电子数码问题,并发表了好评
篮球大图 咨询一个电子数码问题,并发表了好评
动物乐园 咨询一个电子数码问题,并发表了好评
AKA 咨询一个电子数码问题,并发表了好评
C语言中printf()后的括号里面的怎么写,表示什么?
int printf(const char *format,[argument]); format 参数输出的格式,定义格式为: %[flags][width][.perc] [F|N|h|l]type 规定数据输出方式,具体如下: 1.type 含义如下: d 有符号10进制整数 i 有符号10进制整数 o 有符号8进制整数 u 无符号10进制整数 X/x 有符号16进制整数 F/f 浮点数 E/e 用科学表示格式的浮点数 g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数 c 单个字符 s 字符串 % 显示百分号本身 p 显示一个指针,near指针表示为:XXXX far 指针表示为:XXXX:YYYY n 相连参量应是一个指针,其中存放已写字符的个数 2.flags 规定输出格式,取值和含义如下: 无 右对齐,左边填充0和空格 + 左对齐,右边填充空格 - 在数字前增加符号 + 或 - 一个空格 只对负数显示符号 # 当type=c,s,d,i,u时没有影响 type=o,x,X时,在数值前增加'0'字符 type=e,E,f时,总是使用小数点 type=g,G时,除了数值为0外总是显示小数点 3.width 用于控制显示数值的宽度,取值和含义如下n(n=1,2,3...) 宽度至少为n位,不够以空格填充 0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充 * 格 式列表中,下一个参数还是width 4.prec 用于控制小数点后面的位数,取值和含义如下: 无 按缺省精度显示 0 当type=d,i,o,u,x时,没有影响 type=e,E,f时,不显示小数点 n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数 type=其他,表示显示的最大宽度 .* 格式列表中,下一个参数还是width 5.F|N|h|l 表示指针是否是远指针或整数是否是长整数 F 远指针 n 近指针 h短整数或单精度浮点数 l 长整数或双精度浮点数 1.一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。 ②普通字符,即需要原样输出的字符。 (2)“输出表列”是需要输出的一些数据,可以是表达式 (3)printf函数的一般形式可以表示为 printf(参数1,参数2,……,参数n) 功能是将参数2~参数n按参数1给定的格式输出 2.格式字符(9种) (1)d(或i)格式符。用来输出十进制整数,有以下几种用法: ①%d,按整型数据的实际长度输出。 ②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 ③%ld(%mld 也可),输出长整型数据。 例如:long a=123456; printf("%ld",a); (2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。 (3)x(或X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。 (4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可。 参见:li4-3.c/*无符号数据的输出*/ (5)c格式符,用来输出一个字符。格式:%c,%mc都可。 (6)s格式符,用来输出一个字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。 参见:li4-5.c /*字符串的输出*/ (7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。 注意:单精度实数的有效位数一般为7位,双精度为16位。 参见:li4-6.c/*输出单精度实数时的有效位数*/ li4-7.c/*输出双精度实数时的有效位数*/ li4-8.c/*输出实数时指定小数位数*/ (8)e(或E)格式符,以指数形式输出实数。格式:%e,%m.ne,%-m.ne都可。 参考技术A 就是VC++.net里的 System::String类型
在C#里是 System.String
而在 c++.net 里,为表示引用,所以后面加了一个^。
.net提供的所有引用类型,在vc++.net里,
都是这样的。
比如 Object^ obj = gcnew Object();
你把代码改成这样
String^ savePath ="C:\\FileName.txt";
StreamWriter^ sww = File::CreateText(savePath);
String^ text = "IBM 2008 年 12 月 0.0971351415 9% 变化";
sww->WriteLine(text);
sww->Close();
因为sww->WriteLine(eachRes);
你这里eachRes是一个char*,
而WriteLine没有直接接受参数为char*的重载,会转化为bool类型,所以只会在文件中输出一个True,不会输出字符串。因为此char*不为空。 参考技术B 增加头文件:#include <sstream>
代码在codeblocks软件上测试结果,使用者需要根据自己的实际情况,将string与bool互转,方法如上。
golang中string int float bool类型相互转换
golang中string int float bool类型相互转换
package main import ( "fmt" "strconv" ) func IntToString() { //todo :int to string v := 456 vS := strconv.Itoa(v) fmt.Println(vS) //方法1,简便版 //todo :int64 to string var vI64 int64 = 789 vInt64S := strconv.FormatInt(vI64, 10) //方法2,int64转string,可指定几进制 fmt.Println(vInt64S) //todo :uint64 to string var vUI64 uint64 = 91011 vUI64S := strconv.FormatUint(vUI64, 10) //方法3, uint64转string,可指定几进制 fmt.Println(vUI64S) } func StringToInt() { //todo :string to int/int64 s := "123" vInt, _ := strconv.Atoi(s) //方法1,便捷版 fmt.Println(vInt) vInt64, _ := strconv.ParseInt(s, 10, 64) //方案2,有符号整型,可以指定几进制,整数长度 fmt.Println(vInt64) vUInt64, _ := strconv.ParseUint(s, 10, 64) //方案3,无符号整型,可以指定几进制,整数长度 fmt.Println(vUInt64) } func StringToFloat() { //todo :string to float f64, _ := strconv.ParseFloat("123.456", 64) //方法1,可以指定长度 fmt.Println(f64) } func FloatToString() { //todo :float to string f64 := 1223.13252 sF64 := strconv.FormatFloat(f64, \'f\', 5, 64) //方法1,可以指定输出格式、精度、长度 fmt.Println(sF64) } func StringToBool() { //todo :string to bool 接受 1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False 等字符串; 其他形式的字符串会返回错误 b, _ := strconv.ParseBool("1") fmt.Println(b) } func BoolToString() { //todo :bool to string sBool := strconv.FormatBool(true) //方法1 fmt.Println(sBool) } func main() { StringToInt() IntToString() StringToFloat() FloatToString() BoolToString() StringToBool() }
以上是关于vs里面bool类型如何转换为string类型的主要内容,如果未能解决你的问题,请参考以下文章
kettle如何将string类型转换为timestamp类型