C%[]转换说明符和字符串函数

1 c

我很难编写理解说明符和字符串函数的格式.

我的目的是用来%[]读取所有字符和空格,然后使用strcpy函数,然后使用strcat函数.

到目前为止,我已经设法输入单个字符并打印出来,不包括空格.

这是迄今为止的代码;

int main(int argc, char** argv)  {
    char words[30];
    int loops;
    printf("How many letters would you like to enter? - ");
    scanf("%d",&loops);
    for(int i=0;i<loops;i++){
      printf("Provide some text as input:");
      scanf("%s", &words[i]);
    }
    printf("%d", strlen(words));

    printf("%s",&words);
    return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

Jor*_*ira 5

我假设您要从标准输入到ENTER键读取最大长度为29个字符的字符串.

为此,您可以使用以下代码:

char phrase[30];
printf("Enter a phrase: ");
scanf("%29[^\n]", phrase);
printf("You just entered: '%s'\n", phrase);
Run Code Online (Sandbox Code Playgroud)

%29[^\n]说,读从一开始最多29个字符(保存为一个0终结)到ENTER键.这包括用户可以输入的任何空格字符.