这一定很简单,但我现在已经麻木地想清楚了。所以这是我代码的一小部分,除此之外一切正常。我真正想做的是 infile1.open(temp2->path); 但这是不可能的,因为 temp2 是一个字符串。所以我想把这个字符串放入一个像 char p[100] 这样的 char 数组中以使用 infile1.open(p)。它编译但几秒钟后繁荣:p周围的堆栈已损坏
char p[100];
while( temp2 != 0)
{
stringToCharArray(temp2->path, p);
infile1.open(p);
checkingWords(infile1, stopWords, invertedIndex);
infile1.close();
temp2 = temp2->next;
}
void stringToCharArray(string s, char *c)
{
int i;
int size = s.size();
for( i=0; i<=size ; i++)
{
c[i] = s[i];
}
}