Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 删除填充数据_C_Padding - Fatal编程技术网

C 删除填充数据

C 删除填充数据,c,padding,C,Padding,我有一个字符名[100]但是当一个nom的大小小于100时,我必须使用填充。 我使用字符“.”继续。 但当我读取数据时,我看到例如a.txt 如何删除C中填充的“.”?您可以初始化char*nom,如下所示: char nom[100] = {'\0'}; nom[5] = '\0' 或者在字符串“nom”的长度后插入“\0”,如下所示: char nom[100] = {'\0'}; nom[5] = '\0' 您要在结尾修剪字符串: int i int paddedLength=st

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


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

您可以初始化char*nom,如下所示:

char nom[100] = {'\0'};
nom[5] = '\0'
或者在字符串“nom”的长度后插入“\0”,如下所示:

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

您要在结尾修剪字符串:

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';
  • 类型化内联,不保证,但一般方法有效

谢谢,这正是我想做的。在一个tar文件中,它填充了\0,我正在搜索做同样的事情。现在我用{'\0'}初始化;它在做我想做的,很好!不客气!这不是很久以前,因为我知道这种初始化是在C中可用的,在使用C.之前必须先进入C++。