使用 fgets 将当前行与下一行进行比较?
Comparing current line to next one using fgets?
我正在尝试使用 fgets 访问下一行,以便计算与下一行相似的行数,是否可以获取 nextLine 变量?
int similar = 0;
char line[100];
char nextLine[100];
FILE *f = fopen(file, "r");
while (fgets(line, 100, f)) {
if (strcmp(nextLine, line) == '0') {
similar++;
}
}
有可能 - 添加一个新变量 next_line
。例如,
int similar = 0;
char line[100] = "";
char next_line[100] = "";
FILE *f = fopen(file, "r");
while (fgets(line, 100, f)) {
if (strcmp(next_line, line) == 0) {
similar++;
}
strcpy(next_line, line);
}
注意:
- 您必须用
0
检查 strcmp
,而不是 '0'
- 这只适用于比较相邻的行。
将当前行与上一行进行比较,或者将当前行与定义的字符串进行比较:
前任。我的文本文件包含以下文本:
This is a line // (\n)
This is a line // (\n)
This is a line // without newline
char line_comp [] = "This is a line\n"; // For lines with newline
char line_comp2 [] = "This is a line"; // For lines without newline
char line[255]; // Store the line
现在我们可以浏览该文件并查看这些行是否与以上之一匹配:
int equal = 0;
while (fgets(line, 255, f) != NULL) {
if (strcmp(line, line_comp) == 0 || strcmp(line, line_comp2) == 0)
++equal;
}
然后最后打印结果:printf("Lines equal: %d\n", equal);
记得检查文件是否正确打开,使用后记得关闭文件。
我正在尝试使用 fgets 访问下一行,以便计算与下一行相似的行数,是否可以获取 nextLine 变量?
int similar = 0;
char line[100];
char nextLine[100];
FILE *f = fopen(file, "r");
while (fgets(line, 100, f)) {
if (strcmp(nextLine, line) == '0') {
similar++;
}
}
有可能 - 添加一个新变量 next_line
。例如,
int similar = 0;
char line[100] = "";
char next_line[100] = "";
FILE *f = fopen(file, "r");
while (fgets(line, 100, f)) {
if (strcmp(next_line, line) == 0) {
similar++;
}
strcpy(next_line, line);
}
注意:
- 您必须用
0
检查strcmp
,而不是'0'
- 这只适用于比较相邻的行。
将当前行与上一行进行比较,或者将当前行与定义的字符串进行比较:
前任。我的文本文件包含以下文本:
This is a line // (\n)
This is a line // (\n)
This is a line // without newline
char line_comp [] = "This is a line\n"; // For lines with newline
char line_comp2 [] = "This is a line"; // For lines without newline
char line[255]; // Store the line
现在我们可以浏览该文件并查看这些行是否与以上之一匹配:
int equal = 0;
while (fgets(line, 255, f) != NULL) {
if (strcmp(line, line_comp) == 0 || strcmp(line, line_comp2) == 0)
++equal;
}
然后最后打印结果:printf("Lines equal: %d\n", equal);
记得检查文件是否正确打开,使用后记得关闭文件。