だから私はコードのこのセクションを使用して単語のすべてのインスタンスを見つけようとしています
fseek(src, 0, SEEK_END);
int size = ftell(src);
fseek(src, 0, SEEK_SET);
int line = 0;
int i = 0;
char ch = ' ';
char *word;
char lastch = 'x';
int j = 0;
int lines[getLines(src)];
for(i = 0; i < getLines(src); i++){
lines[i] = -1;
}
for(i = 0; i < size; i++){
ch = fgetc(src);
printf("%s %c", word, '\n');
if(!isspace(lastch) && isspace(ch)){
if(strcmp(word, find) == 0){
if(lines[j - 1] != line){
lines[j] = line;
j++;
}
}
}else{
if(isspace(lastch) && isspace(ch)){
continue;
}else if(isspace(lastch) && !isspace(ch)){
word = "";
append(word, ch);
}else if(!isspace(lastch) && !isspace(ch)){
append(word, ch);
}
}
lastch = ch;
}
append()は
char *append(const char *s, char c) {
int len = strlen(s);
char buf[len+2];
strcpy(buf, s);
buf[len] = c;
buf[len + 1] = 0;
return strdup(buf);
}
文字列の単語に文字が追加されない理由を誰かに説明してもらえますか?
おかげで、それは追加機能に関係していると確信しています。