可以通过使用额外的局部变量来存储前导空格来截断前导空格。
%[ ] 需要在 scanf 中提及以存储前导空格
"%[ ]%[^\n]",first_string,second_string ,提到 scanf 格式说明符是读取两个字符串。
first_string contains leading spaces from given input string
second_string contains actual data without leading spaces.
以下是示例代码
int main()
{
char lVar[30];
char lPlaceHolder[30];
printf("\n Enter any string with leading spaces : ");
memset(lVar,'\0',30);
memset(lPlaceHolder,'\0',30);
scanf("%[ ]%[^\n]",lPlaceHolder,lVar);
printf("\n lPlaceHolder is :%s:\n",lPlaceHolder);
printf("\n lVar is :%s:\n",lVar);
return(0);
}
输入:
“ 你好世界”
输出:
lPlaceHolder 是 : :
lVar 是 :hello world:
注意:上传到 stackover flow 网站后,lPlaceHolder 的空间无法正确显示