存储' \ n'来自cin的角色

时间:2017-02-14 14:19:48

标签: c++

我需要从用户那里获得输入并将其存储为角色。问题是包括转义序列。

以下是一个例子:

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转义序列或任何转义序列。

2 个答案:

答案 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>>是否为空字符串并将其视为换行符分隔符