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

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

相关推荐
.似水几秒前
Python面向对象
开发语言·python
无限进步_1 分钟前
C++ STL容器适配器深度解析:stack、queue与priority_queue
开发语言·c++·ide·windows·算法·github·visual studio
山土成旧客2 分钟前
【Python学习打卡-Day30】模块化编程:从“单兵作战”到“军团指挥”
开发语言·python·学习
世转神风-4 分钟前
qt-union-联合体基础讲解
开发语言·qt
moxiaoran57534 分钟前
Go语言的数据类型转换
开发语言·后端·golang
秋邱6 分钟前
Java包装类:基本类型与包装类转换、自动装箱与拆箱原理
java·开发语言·python
海上彼尚6 分钟前
Go之路 - 8.go的接口
开发语言·golang·xcode
乐茵lin6 分钟前
golang context底层设计探究
开发语言·后端·golang·大学生·设计·context·底层源码
lkbhua莱克瓦248 分钟前
基础-约束
android·开发语言·数据库·笔记·sql·mysql·约束
Alex Cafu11 分钟前
Linux网络编程2(HTTP 协议、IO 多路复用)
linux·c语言·网络·http