如何修剪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;
}
}
答案 0 :(得分:2)
鉴于您没有提及任何其他内容,可以始终执行以下操作:
将数组(要检查)复制到char中的另一个数组char,只需要复制所需的字符数...(这样你还可以检查需要修剪多少个字符):
a=0;
while(array1[a] != '\0'){
array2[a] = array1[a];
a++;
}
array2[a] = '\0';