如何检查用户是否按下了Enter键?

时间:2013-11-08 05:35:24

标签: c string user-input

#include <stdio.h>
#include <string.h>
#include "formatCheck.h"
int main()
    {
    char input[32];
    char format[32]
    printf("enter your format : ");
    fgets(input,sizeof(input),stdin);
    sscanf(input,"%s",format);
        //my problem
        //if user don't enter format it will exit.
         if()
            {
            return 0;
            }
    }

如何检查用户是否输入任何内容(只需输入密钥)。 对不起英语。 感谢。

4 个答案:

答案 0 :(得分:2)

当用户点击时,只需输入input[0] contains \n

fgets(input,sizeof(input),stdin);
  if(input[0]=='\n') printf("empty string");

答案 1 :(得分:0)

如果您阅读scanf系列函数,您会看到它们返回成功扫描的“项目”数。因此,如果您的sscanf来电未返回1,那么就会出现问题。

答案 2 :(得分:0)

您可以检查输入文本的长度是0还是NULL

答案 3 :(得分:0)

/* fgets example */
#include <stdio.h>

int main()
{
   FILE * pFile;
   char mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else {
     if ( fgets (mystring , 100 , pFile) != NULL ) //Use this
       puts (mystring);
     fclose (pFile);
   }
   return 0;
}


/* fgets example 2 */
#include <stdio.h>

int main()
{
   FILE * pFile;
   char mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else {
     if ( fgets (mystring , 100 , pFile) && input[0]!='\n' ) //Use this
       puts (mystring);
     fclose (pFile);
   }
   return 0;
}

参考:http://www.cplusplus.com/reference/cstdio/fgets/