接着我们要说说 C String!C string 是字元阵列,通常会使用 pointer 来做应用。还有另一种字串:C++ string,则是一种物件(object),不过由於这门课还是一门基础课,这边就先不介绍 C++ string。
当我们要宣告字串的时候,就须要宣告他的变数类型为char
的阵列,而其值我们在VS code中必须以双引号“
”
框起来。而引号内的值会以 ASCII code 记。
例如:
char c = ‘0’;
这时候如果我们输出其结果,会输出 0 的 ASCII code,也就是’48’。
反之,
char c = 48;
输出则会得到数字0
。
我们可以拿字元阵列与一般的阵列来做比较:
int values[5] = {0};
cout << values;
结果并不意外,会出现一组 address,也就是values
的 address。
char str[10] = “abcde”;
cin >> str;
cout << str;
Char str[10] 意思是这个str
字串输出结果为 abcde
。
另外,要特别注意的是,我们可以写
int b;
b = 0;
但是我们不能以同样的逻辑初始化字元阵列,像是
char s[100];
s = “this is a string”;
Null character 我们记为\0
,电脑会自己存,代表一个字串的结束。
也就是说,以以下例子来看:
不过并不是每一种情形 null character 都会被加入,
初始化的时候:
char s[10] = "abc"; // null character
char s[100] = {'a', 'b', 'c'}; // no \0
input 也有两种情况:
cin >> s; // null character
cin >> s[0]; // no \0
再来,我们可能会遇到一个问题:
char a1[100] = {0};
cin >> a1; // “this is a string”
cout << a1; // “this”
明明我们就是输入一个句子ㄟ!为什麽输出却只能输出一个词!
原来cin
会根据空白键来切割输入的字串,这时候我们的解决办法就是使用cin.getline()
。
cin.getline( )
的用法就是括号中前面放字串名称,後面放字串长度,中间以逗号隔开。
char a[100];
cin.getline(a, 100);
cout << a;
如此一来,就能输出任何我们想要的东西!
最後最後,来介绍一些跟字串有关的函数:
strlen
用来计算字串长度。
toupper
把所有字元都换成大写。
tolower
把所有字元都换成小写。
strstr
strstr(first, second)
就是找second
有没有在first
中出现,在找关键字时很实用。
那 C string 的部分就告一段落啦!
<<: Day 25【Deploy NFT - Layers Blending & MetaData】Read the License
今天想要练习一个简单的聊天室,输入使用者名称後,就可以进房聊天,主要使用 ASP.NET Singa...
创建migration迁移档案 首先先使用artisan指令: make:migration 创建一...
本文同步更新於blog 需求一:KTV系统要按照新增到系统的时间,由旧到新,实作歌曲排行 定义系统...
Vue:实做部落格最後一步骤,就是修改文章!上一篇已经了解如何将id生成,如此才可以做个别文章上的操...
tags: OC 30 day void (^myBlock1)() = ^void(){ NSLo...