繁体   English   中英

输入后替换字符串中的空格?

[英]Replacing spaces in string after input?

在下面的代码中,当用户在地址处输入空格时,程序陷入无限循环?

例如:街道,城镇,城市会使程序崩溃,如何用','替换空格? 或至少阻止这种情况的发生

printf("\nEnter address:\n");
scanf("%s", newNode->address);
printf("\nEnter department:\n");
scanf("%d", &newNode->depart);
while(validDate == 0){
printf("\nEnter Data Of Join(dd/mm/yy):\n");
if (scanf("%d%*[-/. ]%d%*[-/. ]%d", &newNode->day, &newNode->mounth, &newNode->year) != 3){
    printf("Wrong format! Please enter a date and exclude the slashes! eg. 15 01 95");
}
else{
    // break the loop
    validDate = 1;
}
}// date validation end

尝试

gets() 

而不是scanf()。 scanf遇到空格字符时将停止读取输入。 其余的字符串数据将保留在输入缓冲区中,这可能会导致问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM