1.字符串数组
有一个字符串数组是很方便的,这样就可以使用下标来访问多个不同的字符串。
下面是一个例子:
const char *mytal[5] = { "Adding numbers swiftly",
"Multiplying accurately",
"Stashing data",
"Following instructions to the letter",
"Understanding the C language"
};
"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);