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

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

相关推荐
Yang-Never8 小时前
Kotlin -> 普通Lambda vs 挂起Lambda
android·开发语言·kotlin·android studio
遗憾皆是温柔8 小时前
3.JVM,JRE和JDK的关系是什么
java·开发语言·jvm·面试
奔波霸的伶俐虫11 小时前
jeecg框架@Dict不生效问题
开发语言·python
玖剹12 小时前
Linux文件操作:从C接口到系统调用
linux·服务器·c语言·c++·笔记·ubuntu
YY_TJJ12 小时前
8.4 Java Web(Maven P50-P57)
java·开发语言·maven
pusue_the_sun13 小时前
从零开始搞定类与对象(中)
开发语言·c++·学习
咕噜咕噜啦啦14 小时前
Qt按键响应
开发语言·qt
raoxiaoya14 小时前
Golang中的`io.Copy()`使用场景
开发语言·后端·golang
屁股割了还要学14 小时前
【数据结构入门】链表
c语言·开发语言·数据结构·c++·学习·算法·链表