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');}        //把字符转化成数字
      //把字符转化成数字
这样做的优点是除了你想要的字符,输入其它字符都无效。缺点是比较麻烦,要手动显示,还要转化为数据。
如何保证c++不会输入其他类型;
======================

 

直接写while里面可以continue的

 

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

解决办法:

 

 在函数内再套一层while;

或者更简单直接return;

 

posted on 2023-02-20 23:46  shenhshihao  阅读(27)  评论(0编辑  收藏  举报

导航