这是我的结构
typedef struct {
int startIndex;
int length;
char *rawString;
}Tokenizer;
我有一个复制字符串的功能(这将修剪空间)
void copyStringWithoutSpace(char *source,char *destination )
{
int i =0 ,j=0;
destination = malloc (sizeof(char)*strlen(source));
for(i=0;i<strlen(source);i++)
{
if(!(source[i]==' ')||(source[i]=='\t'))
{
destination[j] =source[i];
j++;
}
}
destination[j]='\0';
}
这是调用 copyStringWithoutSpace 的函数
Tokenizer *initTokenizer(char *expression)
{
int i =0, j=0;
Tokenizer *newTokenizer = malloc (sizeof(Tokenizer));
copyStringWithoutSpace(expression, newTokenizer->rawString);
newTokenizer ->startIndex =0;
newTokenizer ->length =strlen(newTokenizer->rawString);
return newTokenizer;
}
现在,此代码将返回错误的内存访问。我故障排除了这么久,无法解决。有人愿意帮助我吗?