C语言scanf()函数读取包含空格的字符串

scanf()函数读取输入时,遇到空格或者回车结束读取;

所以输入的字符串中有空格,到空格就中断了;

根据资料,使用 "%[^\n]" 这样的格式化符遇到空格继续读取,直到敲了回车;

看一下;

cpp 复制代码
#include <stdio.h> 

int main() 
{ 
    char str1[80]; 
	char str2[80];

	scanf("%s", str1);
	printf("str1 = %s\n",str1);
    scanf("%[^\n]",str2); //读到'\n'结束读取
	printf("str2 = %s\n",str2);

    return 0; 
}

输入AAA BBB CCC DDD,AAA读到了str1中,BBB CCC DDD读到了str2中;

我理解了一下,[]表示集合,^表示非,\n是换行符; 这是正则;

正则的^在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合;

相关推荐
Jyywww12114 小时前
Python基于实战练习的知识点回顾
开发语言·python
Tony Bai14 小时前
【Go 网络编程全解】14 QUIC 与 HTTP/3:探索下一代互联网协议
开发语言·网络·后端·http·golang
爱吃小胖橘14 小时前
高效对象池设计:提升Unity性能的关键
开发语言·unity·c#·游戏引擎
是苏浙14 小时前
零基础入门C语言之深入了解指针2
c语言·开发语言
程序员黄同学15 小时前
Python中的列表推导式、字典推导式和集合推导式的性能和应用场景?
开发语言·python
AI小云15 小时前
【Python高级编程】类和实例化
开发语言·人工智能·python
道之极万物灭15 小时前
Python uv虚拟环境管理工具详解
开发语言·python·uv
OC溥哥99915 小时前
C++2D地铁跑酷代码
开发语言·c++
一念&15 小时前
每日一个C语言知识:C 预处理器
c语言·算法
hazy1k15 小时前
51单片机基础-I²C通信与EEPROM读写
c语言·stm32·单片机·嵌入式硬件·51单片机·1024程序员节