【问题标题】:trim char array C++修剪字符数组 C++
【发布时间】:2013-04-14 18:25:19
【问题描述】:

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

【问题讨论】:

  • 给我们看一些代码。你试过什么?
  • .. 所以写一些代码来处理这些可能性。
  • 是的,我正在尝试这样做!
  • @dharag - 为什么不发布它并告诉什么不起作用!
  • 数组token是从哪里填充的?

标签: c++ trim


【解决方案1】:

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

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

a=0;

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

array2[a] = '\0';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多