String has contents even though there is no input from user

后端 未结 4 1669
长情又很酷
长情又很酷 2021-01-29 02:50

I am trying to \"trap\" keyboard inputs from user, meaning the code will prevent them from entering certain characters, which in this case prevents the input of numbers and spec

4条回答
  •  被撕碎了的回忆
    2021-01-29 03:10

    Reading uninitialised variables like done to buffe here:

    if (c1=='\r' && strlen(buffe)==0)
    

    provokes undefined behaviour, anything could happen afterwards. Do not do this.

    Always initialise variable before reading them.

    In this case you might like to simply do:

    char buffe[32] = "";
    

    or (as already proposed by others) the more generic way:

    char buffer[32] = {0};
    

    More complicated but also valid would be to do:

    char buffer[32];
    strcpy(buffe, "");
    

    or

    char buffer[32];
    memset(buffe, 0, sizeof(buffe));
    

提交回复
热议问题