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

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

相关推荐
晓蛋34 分钟前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
小羊没烦恼!1 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊1 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿2 小时前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读2 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
phltxy2 小时前
C 语言指针:从内存地址到灵活的数据访问
c语言
C语言小火车3 小时前
C/C++ 为什么需要编译器?
开发语言·c++
phltxy3 小时前
C 语言中的数据存储:从类型到二进制位
c语言
霍霍的袁3 小时前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超4 小时前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust