小编Hea*_*son的帖子

使用 fgets() 和 strtok() 在 C 中逐行读取文件?

我正在尝试使用 fgets 和 strtok() 逐行读取文件,并创建每个不同信息行的链接列表。

现在,我只是将信息放入一个数组中,只是想弄清楚如何正确读取信息,但它无法正常工作。

在 while(fgets) 部分,它似乎将所有内容正确加载到数组中,并将其打印出来。但是,在执行该循环并尝试打印出整个数组之后,我得到了非常奇怪的结果.. 这主要是最后一行的大部分内容,并且大部分都不是完整的单词或任何内容。

例如,如果我正在阅读:

Simpson, Homer, Male, 1976
Simpson, Marge, Female, 1978
Simpson, Bart, Male, 2002 
Simpson, Lisa, Female, 2004 
Simpson, Maggie, Female, 2011 
Run Code Online (Sandbox Code Playgroud)

我最后得到的打印输出是这样的:

le
Simpson
 Maggie


Simpson
 Maggie
e
ale
Simpson
 Maggie
e
e
Simpson
 Maggie
 Female
 2011
Run Code Online (Sandbox Code Playgroud)

请让我知道我要去哪里错了,谢谢!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSTRINGSIZE 10
#define LINESIZE 128

struct person{
    char firstName[MAXSTRINGSIZE];
    char lastName[MAXSTRINGSIZE];
    char gender[MAXSTRINGSIZE];
    int birthYear;
    struct person *next;
} *first, *current;


int main (void){
    static …
Run Code Online (Sandbox Code Playgroud)

c fgets strtok

3
推荐指数
1
解决办法
4万
查看次数

忽略几个不同的单词.. c ++?

我正在阅读几个文档,并将我读入的单词编入索引.但是,我想忽略常见的单词(a,an,the,and,is,or,等等).

这样做有捷径吗?莫索比做...

if(word =="和"|| word =="是"|| etc etc ....)忽略单词;

例如,我可以以某种方式将它们放入const字符串中,并且只是检查字符串吗?不确定......谢谢!

c++ string

1
推荐指数
1
解决办法
860
查看次数

标签 统计

c ×1

c++ ×1

fgets ×1

string ×1

strtok ×1