STRLEN错误 - 字符串类型

时间:2016-09-22 01:10:55

标签: c

我不确定为什么这不成功。我附上了我的代码和错误。要关注的一行是if (strlen (String() >= MAX_STR_LEN-1))

我正在尝试使用内置函数strlen来比较String,这是一个临时值,用于保存输入文件所具有的当前字符。我想将String的大小与我的变量MAX_STR_LEN进行比较,后者只是256的整数。如果我能提供更多信息,请告诉我。

 void ReadData(FILE *InputFile, DArray *DynamicArrayPtr)
  {
   Data TempData;             /* temp variable to hold data   */
   int lcv = 1;               /* loop control variable        */
   int strLen;                /* The actual input string length */
   char String[MAX_STR_LEN];          /* temp variable to hold string */

   while (EOF != fscanf(InputFile, "%s", String))
     {
      /* Insert code here to make sure the input data is not too long*/
    if (strlen (String() >= MAX_STR_LEN-1)) {
    }
    else {
        printf("Error, input string too long \n");
    }
      TempData.Num = lcv++;
      strcpy(TempData.String, String);
      PushToDArray(DynamicArrayPtr, &TempData);
     } /* while() */
  } /* ReadData() */

Error Message Screenshot

1 个答案:

答案 0 :(得分:0)

由此发生错误     if(strlen(String()> = MAX_STR_LEN-1)){         } 在String之后删除()。字符串不起作用。 strlen返回String的长度。以下工作正常。

if(strlen(String) >= MAX_STR_LEN-1){
}