C 输入带空格的字符串
在使用scanf_s的时候遇到了一个问题:
当输入的字符串带空格时,scanf会认为这个空格是一个结束符
char string[100];
char *ptr = (char *)malloc(100);
ptr = &string[0];
//scanf_s("%[^\n]",string,100);
scanf_s("%s",string,100);
printf_s("%s",string);
hello world
hello
D:\File\code\C\Train\Train_Proj\Debug\Train_Proj.exe (进程 13544)已退出,返回代 码为: 0。
按任意键关闭此窗口…
这时,用%[^\n]来手动将回车符作为结束符,
char string[100];
char *ptr = (char *)malloc(100);
ptr = &string[0];
scanf_s("%[^\n]",string,100);
//scanf_s("%s",string,100);
printf_s("%s",string);
hello world
hello world
D:\File\code\C\Train\Train_Proj\Debug\Train_Proj.exe (进程 29036)已退出,返回代 码为: 0。
按任意键关闭此窗口…