在请求输入时,D中的无限循环或溢出缓冲区

时间:2016-12-08 01:47:28

标签: d

所以我一直试图在D中输入,当我检查以确保输入是正确的时,我最终得到一个无限循环或输入缓冲区溢出。

//Replace their colors.
let mutableAttributedText = attributedText.mutableCopy() as! NSMutableAttributedString
for boldRange in boldRanges {
    mutableAttributedText.addAttribute(NSForegroundColorAttributeName, value: UIColor.red, range: boldRange)
}
descriptionTextView.attributedText = mutableAttributedText

目前如果我尝试将输入作为一个字符数组读取,我必须停止使用ctrl + d接收输入然后无限循环,如果我尝试只收到一个字符,如果有多个字符是键入,下次您要求输入时,它将自动使用。我从一个更大的函数中获取了这么少的代码,因为这是我将问题隔离到的地方。

1 个答案:

答案 0 :(得分:1)

scanf(" %s", &data);更改为scanf(" %s\n", &data);

或者,你可以用scanf(" %c", &guessY);

读取一个字符