1
#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;
            }
    }

如何检查用户是否没有输入任何内容(只需 Enter 键)。对不起英语。谢谢。

4

4 回答 4

3

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

fgets(input,sizeof(input),stdin);
  if(input[0]=='\n') printf("empty string");
于 2013-11-08T05:44:40.007 回答
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/

于 2013-11-08T05:44:21.357 回答
0

如果您阅读有关scanf函数系列的信息,您会看到它们返回成功扫描的“项目”的数量。因此,如果您的sscanf电话没有返回1,则说明有问题。

于 2013-11-08T05:38:24.343 回答
0

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

于 2013-11-08T05:40:17.023 回答