字符串笔记(C Primer Plus)

本文介绍了C语言中字符串数组的创建及使用方法,详细讲解了三种常用的字符串输入函数(scanf(), gets(), fgets())的特点与区别,并对字符串输出函数(puts(), fputs(), printf())进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值