c - How to copy a sentence into a char array -


i trying copy sentence char array. have tried using scanf("%[^\n]) , scanf("%[^\n]\n within if statement doesn't work. can please me figure out? using c language. works first code not second.

file #1

#include <stdio.h> int main () {    char c[10];    printf ("enter text.\n");    scanf("%[^\n]", c);    printf ("text:%s", c);    return 0;  } 

file #2

#include <stdio.h> #include <string.h>  int main(void) {   char command[10];   char c[10];    printf("cmd> ");   scanf( "%s", command);    if (strcmp(command, "new")==0)    {        printf ("enter text:\n");      scanf("%[^\n]", c);      printf ("text:%s\n", c);    }     return 0; } 

put space before %[^\n] so:

#include <stdio.h> #include <string.h>  int main(void) {   char command[10];   char c[10];    printf("cmd> ");   scanf( "%s", command);    if (strcmp(command, "new")==0)   {       printf ("enter text:");      scanf(" %[^\n]", c); // note space      printf ("text:%s", c);    }     return 0; } 

it should work now. space makes consume whitespace of previous inputs.

here's output when tested without space:

cmd> new enter text:text:@ ------------------ (program exited code: 0) 

and space:

cmd> new enter text:test text:test ------------------ (program exited code: 0) 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -