0

如何修剪 char 数组?

我正在从文本文件中读取这个数组,当它匹配某个字符串时,我会处理它。但它永远不会匹配。我假设因为它包含一些尾随和前导空格或\和'\ n'

我不知道如何修剪 char 数组,但我用它来删除空格。这有一个问题,当token[0] = {0 0 0 0}它使它成为 {0000} 时。所以我不知道下一步该怎么做。。

char a[50] = {0};
int j = 0;

    //Removing spaces or garbage values in token[0] for perfect string match
    for(int i=0; (unsigned)i<strlen(token[0]) ; ++i )
    {
      if( (isalnum(token[0][i])) || token[0][i] == 95)
      {
        a[j]=token[0][i];
        j++;
      }
      else
      {
        continue;
      }
    }
4

1 回答 1

3

鉴于您没有提及其他任何内容,因此始终可以执行以下操作:

将数组(要检查)按字符复制到另一个数组,仅需要所需的字符数...(这样您还可以检查需要修剪的字符数):

a=0;

while(array1[a] != '\0'){
    array2[a] = array1[a];
    a++;
}

array2[a] = '\0';
于 2013-04-14T18:37:57.313 回答