Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取C中引号之间有空格的用户输入字符串并保留引号_C_String_Character Class - Fatal编程技术网

读取C中引号之间有空格的用户输入字符串并保留引号

读取C中引号之间有空格的用户输入字符串并保留引号,c,string,character-class,C,String,Character Class,e、 g“任务1” 为了保留引号,我可以使用什么字符类?为了实现您的目的,您需要使用scanf,并在字符串之间保留预定数量的字符。这将构造一个字符串,保留文字引号,并在末尾保留一个空字符,以便可以重新打印该字符串 #include <stdio.h> int main(void) { int charsToRead = 6; char inputString[9]; char* inputPointer = inputString + 1; inp

e、 g
“任务1”


为了保留引号,我可以使用什么字符类?

为了实现您的目的,您需要使用
scanf
,并在字符串之间保留预定数量的字符。这将构造一个字符串,保留文字引号,并在末尾保留一个空字符,以便可以重新打印该字符串

#include <stdio.h>

int main(void) 
{
    int charsToRead = 6;
    char inputString[9];
    char* inputPointer = inputString + 1;
    inputString[0] = '"';
    inputString[7] = '"';
    inputString[8] = '\0';
    printf("type something with quotes\n");
    scanf("\"%6c\"", inputPointer);
    printf("the captured string is %s", inputString);
    return 0;
}
#包括
内部主(空)
{
int charsToRead=6;
字符输入字符串[9];
char*inputPointer=inputString+1;
inputString[0]=“”;
inputString[7]=“”;
inputString[8]='\0';
printf(“键入带引号的内容\n”);
scanf(“\%6c\”,输入指针);
printf(“捕获的字符串是%s”,inputString);
返回0;
}

要接收字符串“task 1”,您需要在引号之间读取6个字符,如上所述。

您是否想过使用
scanf
从用户处读取这样的字符串?您的意思是“如何在两组引号之间读取用户输入?”因为在输入中
“a”“b c”
会产生两个不同的字符串,
“a”
“b c”
?您可能将post
字符类的标签打错了,或者可能应该明确说明您使用的是哪个正则表达式库。你问什么也不清楚。一个演示你的问题的小示例代码会很有帮助。你想保留引号的原因是什么?通常需要引号来保护字符串中的空格,但引号本身不是字符串的一部分。我正在考虑使用scanf来读取用户输入,这就是为什么我要求使用character类。至于尝试,我有这个\“%[^\”]\”没有保留引号。