trim char数组C ++

时间:2013-04-14 18:25:20

标签: c++ trim

如何修剪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;
      }
    }

1 个答案:

答案 0 :(得分:2)

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

将数组(要检查)复制到char中的另一个数组char,只需要复制所需的字符数...(这样你还可以检查需要修剪多少个字符):

a=0;

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

array2[a] = '\0';