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

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

相关推荐
SoftLipaRZC2 分钟前
C语言自定义类型:结构体完全指南
c语言·开发语言
方也_arkling3 分钟前
【Java-Day19】集合3 List中常见的方法和5种遍历方式
java·开发语言
AI玫瑰助手8 分钟前
Python函数:局部变量与全局变量的作用域
开发语言·python·信息可视化
字节高级特工16 分钟前
C++11(二) 革新:引用折叠与lambda表达式
java·开发语言·c++·算法
萨小耶16 分钟前
[Java学习日记11】聊聊深拷贝和浅拷贝
java·开发语言·学习
xiaoshuaishuai818 分钟前
C# AvaloniaUI‌的IValueConverter
开发语言·c#
白驹笙鸣31 分钟前
STL allocator作用
开发语言·c++
小小编程路33 分钟前
C++ STL 原理与性能
开发语言·c++
码不停蹄的玄黓35 分钟前
Java线程池生命周期
java·开发语言
社交怪人38 分钟前
【适合晨练】信息学奥赛一本通C语言解法(题号2054)
c语言