Я пытаюсь найти текстовый файл, используя C для строки символов, которая всегда будет в определенном месте. В частности, я ищу три последовательные тире. Когда он найдет три черточки, он должен вернуть строку, на которой он был найден. Затем он должен продолжить следующую строку и продолжить поиск трех последовательных тире до тех пор, пока не достигнет конца файла. Каждый раз следует распечатать номер строки.Найти строку в текстовом файле в C
Это то, что я до сих пор:
int main() {
FILE *f;
char inName[80];
printf("Read text from: ");
scanf(" %79[^\n]s\n", inName);
f = fopen(inName, "r");
if (f == 0) printf("ERROR: Cannot open file %s for reading.\n", inName);
int lineNumber = 0;
for(;;) {
char line[127];
fgets(line, 127, f);
if (!feof(f)) {
lineNumber++;
} else {
break;
}
double lf;
int d, d1;
char s[30];
char s1[4];
sscanf(line, " %d, %s, %s, %s, %s, %d, %d, %lf",
&d, &s, &s, &s, &s, &d, &s1, &lf);
if (s1 == "---") {
printf("%d\n", lineNumber); // what line
}
}
fclose(f);
return(0);
}
Этот код работает, но ничего не печатает. Может ли кто-нибудь показать, как это сделать? Спасибо :)
Вы пробовали отладчик? –