字符串笔记(C Primer Plus)

来源:互联网 发布:伪钞制造者 知乎 编辑:程序博客网 时间:2024/05/02 00:24

1.字符串数组

有一个字符串数组是很方便的,这样就可以使用下标来访问多个不同的字符串。
下面是一个例子:

const char *mytal[5] = { "Adding numbers swiftly",
                                          "Multiplying accurately",
                                          "Stashing data",
                                          "Following instructions to the letter",
                                          "Understanding the C language"
};

也可以采用二维数组:

char mytal_2[5][81];

2.字符串输入


C库提供了3个读取字符串的函数:scanf(), gets(), fgets()

2.1 gets()函数(读取一行)

2.1.1  gets()函数读取换行符之前(不包括换行符)的所有字符,在这些字符后添加一个空字符(\0)。它读取换行符并丢弃,这样下一次读取就会在新的一行开始。



char name[81];
gets(name);

2.1.2  gets()函数有2个可能的返回值,如果一切顺利,它返回的是读入字符串的地址。如果出错或遇到文件结尾,就返回一个空指针。

char *ptr;
ptr = gets(name);

while(gets(name) != NULL)

2.2 fgets()函数(读取文件,也可读取标准输入)


char name[81];
char *ptr;
ptr = fgets(name, 81, stdin);

2.2.1 fgets()函数需要第二个参数来说明最大读取字符数。

2.2.2 fgets()函数读到了换行符,就存到字符串里,并不丢弃。

2.2.3 fgets()函数需要第三个参数来说明读哪一个文件,stdin为标准输入。


2.3 scanf()函数

从第一个非空白字符开始
scanf("%s", name);        读到下一个空白字符结束。
scanf("%10s", name);   读入10个字符或遇到下一个空白字符结束。

while(scanf("%s", name) != EOF)


3.字符串输出


3.1 puts()函数(输出一行字符串)

puts()显示字符串时自动在其后添加一个换行符。

puts(str);

3.2 fputs()函数(输出文件,也可标准输出)

fputs(str, stdout);

3.2.1 fputs()函数需要第二个参数来说明要写的文件,可以使用stdout来进行标准输出。

3.2.2 fputs()函数并不为输出自动添加换行符。


3.3 printf()函数(常用)

使在一行上输出多个字符串变得更简单。

printf("%s\n", str);






0 0
原创粉丝点击