我需要从用户那里获得输入并将其存储为角色。问题是包括转义序列。
以下是一个例子:
string userInput;
char delimiter;
cout << "Enter Delimiter: ";
cin >> userInput;
if(userInput == "\n"){
delimiter = '\n';
}
else{
delimiter = *userInput.c_str();
}
userInput = \n
时:
userInput == "\n"
为false且delimiter = \
当用户选择时,我需要将分隔符作为\n
转义序列或任何转义序列。
答案 0 :(得分:3)
你需要在这里转义反斜杠:
if(userInput == "\n")
应该是:
if(userInput == "\\n")
答案 1 :(得分:0)
[Flags]
public enum Status
{
Nominal = 0, // in bits: ... 0000 0000
Modified = 1, // 0000 0001
DirOneOnly = 2, // 0000 0010
DirTwoOnly = 3, // 0000 0011 **common bit with Modified state **
DirOneNewest = 4,
DirTwoNewest = 5,
以空格分隔,包括cin
,因此您永远不会从\n
获取它。您可以检查operator>>
是否为空字符串并将其视为换行符分隔符