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

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

相关推荐
geovindu10 分钟前
java:Abstract Factory Pattern
java·开发语言·后端·设计模式·抽象工厂模式·创建型模式
geovindu13 分钟前
java: Factory Method Pattern
java·开发语言·后端·设计模式·工厂方法模式·创建型模式
m0_5870989933 分钟前
Qt,二进制文件读写建议
开发语言·qt
爱敲代码的小鱼38 分钟前
springsecurity:
java·开发语言·数据库
秋田君40 分钟前
QT_QT信号与槽机制
开发语言·数据库·qt
辞旧 lekkk41 分钟前
【Qt】 系统相关:事件与定时器
开发语言·qt·学习·萌新
Wang's Blog44 分钟前
Java框架快速入门: Spring Bean核心配置与实例化详解
java·开发语言·spring
三十岁老牛再出发1 小时前
07.07.每日总结
c语言·windows·python
aaPIXa6221 小时前
C++ TensorRT Edge-LLM 边缘推理框架:从原理到实战
开发语言·c++·edge
阿pin1 小时前
Java随笔-GC收集器工作机制
java·开发语言·jvm·gc