c++学习



又比如说char* str = "Hello world";这个也是错的,为了兼容,VC新版本可能会警告,或者报错。因为"Hello world"这个字符串是不能改变的,你不能用str[0]='h'来把它改成"hello world"。所以正确地写,应该是const char s[]="Hello world"或const char* s="Hello world",又或者char s[]="Hello world";

vs可以通过选中区域只替换区域内单词;

c++字符串转化为整数浮点数。

string和char直接转换
============
31m代表字体为红色,0m代表关闭所有属性。
常用的ANSI控制码如下(有些不支持):
\033[0m 关闭所有属性
\033[1m 高亮
\033[2m 亮度减半
\033[3m 斜体
\033[4m 下划线
\033[5m 闪烁
\033[6m 快闪
\033[7m 反显
\033[8m 消隐
\033[9m 中间一道横线
10-19 关于字体的
21-29 基本与1-9正好相反
30-37 设置前景色
40-47 设置背景色
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
38 打开下划线,设置默认前景色
39 关闭下划线,设置默认前景色
40 黑色背景
41 红色背景
42 绿色背景
43 棕色背景
44 蓝色背景
45 品红背景
46 孔雀蓝背景
47 白色背景
48 不知道什么东西
49 设置默认背景色
50-89 没用
90-109 又是设置前景背景的,比之前的颜色浅
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
c++换颜色。。

==============
第一种是输入完了再整体判断,如果不符合要求就重新输入,比如:do{scanf("%d",&A);}while(A<0||A>100);这样的话如果你输入的A这个数小于0或大于100,就会一直不停的让你重新输入。这样做的优点是简单,缺点是你无法及时控制,也就是在输入过程中,是可以输入非数字的字符的。比如输入9at3。第二种是使用getch( )函数。这是一个不回显的函数,也就是说这个函数直接从控制台读取一个字符,但不显示在屏幕上。这个时候你就可以及时做判断,如果符合要求进行下一步,不符合要求忽略或怎么样的。这个函数必须在程序的最开头包含头文件 #include <conio.h>。比如:#include <conio.h>……char c;int i,a=0;for(i=0;i<2;i++) {do{c=getch();}while(c<'0'||c>'9'); //如果不是输入0-9之间的字符,直接被忽略 printf("%c",c); //显示c这个字符(因为getch函数不回显,所以要手动显示) a=a*10+(c-'0');} //把字符转化成数字 //把字符转化成数字
这样做的优点是除了你想要的字符,输入其它字符都无效。缺点是比较麻烦,要手动显示,还要转化为数据。
直接写while里面可以continue的

但是,包装成了函数以后不再认得这是一个while循环
解决办法:

在函数内再套一层while;
或者更简单直接return;
posted on 2023-02-20 23:46 shenhshihao 阅读(39) 评论(0) 收藏 举报
浙公网安备 33010602011771号