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

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

相关推荐
Hx_Ma161 天前
前台模块以及分页逻辑
java·开发语言
亓才孓1 天前
AspectJ和SpringAOP的区别
java·开发语言
大鹏说大话1 天前
破局单体瓶颈:SQLParser 解析器的分层架构重构实战
开发语言
tod1131 天前
C++ 核心知识点全解析(八)
开发语言·c++·面试经验
Ljwuhe1 天前
C++类与对象(上)
开发语言·c++
十启树1 天前
QGis开发环境部署
开发语言·gis·qgis
亚比囧1 天前
Java基础--面向对象(二)
java·开发语言
乐观勇敢坚强的老彭1 天前
c++寒假营day05
开发语言·c++·算法
枫叶丹41 天前
【Qt开发】Qt界面优化(七)-> Qt样式表(QSS) 样式属性
c语言·开发语言·c++·qt
重生之后端学习1 天前
74. 搜索二维矩阵
开发语言·数据结构·算法·职场和发展·深度优先