从文件 C 中读取并跳转行
read and jump lines from a file C
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]) {
FILE* file = fopen("questions-words.txt", "r");
char line[256];
while (fgets(line, sizeof(line), file) != NULL) {
if (line[0]==":") {
continue;
}
printf("%s", line);
}
fclose(file);
return 0;
}
您好,我尝试打印文件的行并跳转以“:”开头的行,但它似乎不起作用。
我也无法打印 line[0] 它会发出警告,因为 "line is type int"
而不是这个-
if (line[0]==":"){
使用这个 -
if (line[0]==':'){ // note the single quotes
注意 - ';'
是 int
类型(正如 Cool Guy 所指出的)与 ":"
不同,后者是字符串文字。
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
FILE* file = fopen("questions-words.txt", "r"); /* should check the result */
if (file==NULL){
return-1;
}
char line[256];
char first[20],second[20],third[20],fourth[20],temp[20];
while (! feof(file)) {
fscanf(file,"%s \t", first);
if (!strcmp(first,":")){
fscanf(file,"%s \t",temp);
continue;
}
fscanf(file,"%s \t", second);
fscanf(file,"%s \t", third);
fscanf(file,"%s \t", fourth);
printf("%s %s %s %s \n", first, second, third, fourth);
}
fclose(file);
return 0;
}
@ameyCu 的回答更好,但因为我知道每行有 4 个词,所以我也找到了这个解决方案(以防万一对某人有帮助)
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]) {
FILE* file = fopen("questions-words.txt", "r");
char line[256];
while (fgets(line, sizeof(line), file) != NULL) {
if (line[0]==":") {
continue;
}
printf("%s", line);
}
fclose(file);
return 0;
}
您好,我尝试打印文件的行并跳转以“:”开头的行,但它似乎不起作用。 我也无法打印 line[0] 它会发出警告,因为 "line is type int"
而不是这个-
if (line[0]==":"){
使用这个 -
if (line[0]==':'){ // note the single quotes
注意 - ';'
是 int
类型(正如 Cool Guy 所指出的)与 ":"
不同,后者是字符串文字。
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
FILE* file = fopen("questions-words.txt", "r"); /* should check the result */
if (file==NULL){
return-1;
}
char line[256];
char first[20],second[20],third[20],fourth[20],temp[20];
while (! feof(file)) {
fscanf(file,"%s \t", first);
if (!strcmp(first,":")){
fscanf(file,"%s \t",temp);
continue;
}
fscanf(file,"%s \t", second);
fscanf(file,"%s \t", third);
fscanf(file,"%s \t", fourth);
printf("%s %s %s %s \n", first, second, third, fourth);
}
fclose(file);
return 0;
}
@ameyCu 的回答更好,但因为我知道每行有 4 个词,所以我也找到了这个解决方案(以防万一对某人有帮助)