C - 为用户输入添加引号

时间:2018-01-30 17:40:50

标签: c

我想在用户提供的输入中添加引号,但无法弄清楚如何。

printf("Please enter a name: ");
    char string[50];

    scanf ("%[^\n]%*c", string);

此后我喜欢能够添加引号。因此,如果用户键入Bob,则将其存储为“Bob”。感谢

2 个答案:

答案 0 :(得分:5)

然后,写:

string[0] = '"';
scanf ("%[^\n]%*c", string + 1);
size_t len = strlen(string);
string[len] = '"';
string[len + 1] = '\0';

scanf()string + 1存储在'"'后,在string[0]上致电'"'。然后获取字符串的长度,以便在其末尾添加另一个FormLinkType::Passive

答案 1 :(得分:1)

你可以这样做

scanf

您可以使用scanf - 您必须检查fgets的返回值,以了解它是否成功。更好的方法是使用scanf - 使用它比scanf更容易。

另外,如果你使用if(scanf("%49s",string) == 1){ ... } ,你应该指定你可以阅读的字符数 -

class Manifold(Tk.Tk):
    def __init__(self, *args, **kwargs):
        Tk.Tk.__init__(self, *args, **kwargs)
    #preload windows (avoids watching widgets load in real time):
        self.withdraw() #hide window
        self.after(0,self.deiconify) #unhide window asap