【问题标题】:Removing padded data删除填充数据
【发布时间】:2012-11-18 20:42:44
【问题描述】:

我有一个char nom[100];,但是当nom 的大小小于 100 时,我必须使用填充。 我使用字符'。继续。 但是当我读取数据时,我会看到例如a.txt..............................................................................................

如何删除填充的“。”在 C 中?

【问题讨论】:

    标签: c padding


    【解决方案1】:

    你可以初始化你的 char *nom,像这样:

    char nom[100] = {'\0'};
    

    或者在你希望字符串“nom”的长度之后插入一个'\0',像这样:

    nom[5] = '\0'
    

    【讨论】:

    • 谢谢,这就是我想做的。在一个 tar 文件中,它用 \0 填充,我正在寻找做同样的事情。现在我用 {'\0'}; 初始化它正在做我想做的事,这很好!
    • 不客气!不久前,我了解到这种初始化可以在 C 中使用。在 C 中使用之前,必须先将其转换为 C++。
    【解决方案2】:

    你想修剪结尾的字符串:

    int i
    int paddedLength=strlen(str);
    int realLength = paddedLength;
    char padChar = '.';
    
    for(i=paddedLength-1; i>=0; i--) {
        if(str[i]!=padChar)
            break;
        realLength--;
    }
    str[realLength+1] = '\0';
    
    • 内联输入,不保证通用方法有效

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 2011-06-15
      • 2020-02-24
      • 2015-04-21
      • 2018-12-30
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多