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是换行符; 这是正则;

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

相关推荐
人间凡尔赛8 小时前
Next.js 16 生产级实战:Cache Components + View Transitions 完整指南
开发语言·javascript·ecmascript
稚南城才子,乌衣巷风流11 小时前
函数:编程中的核心概念
开发语言·前端·javascript
阿米亚波12 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
大模型码小白12 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
皓月斯语13 小时前
【C++基础】三目运算符
开发语言·数据结构·c++
初願致夕霞13 小时前
C++懒汉单例设计详解
服务器·开发语言·c++
脱胎换骨-军哥14 小时前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
Discipline~Hai14 小时前
ARM01-ARM体系架构
linux·c语言·arm开发·架构
脱胎换骨-军哥14 小时前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装
java·开发语言·c++
lbb 小魔仙14 小时前
VS Code Python 高级调试技巧:从入门到精通
开发语言·python