从文件读取,但是我无法打印最后一行?

第二

我正在尝试使用fscanf从文件中读取(老师非常需要这样做,我个人会使用getline或其他方式),并且试图读取直到文件末尾-我的代码似乎可以正常工作,除了返回外部循环时似乎并没有打印出我正在读取的文件的最后一行,而且我不确定为什么(当我调用readLine函数并打印出我进入那个函数里面

如果有人可以查看我的代码并让我知道我要去哪里,我将非常感激。(请忽略main中看起来很奇怪的if语句,这是我还没有想到的将来的代码。)

most_freq.h

#ifndef MOST_FREQ_H_
#define MOST_FREQ_H_

#include <stdio.h>

//used to hold each "word" in the list
typedef struct word_node
{
char *word;
unsigned int freq; //frequency of word 
struct word_node *next;
} word_node;

struct node *readStringList(FILE *infile);

int readLine(FILE *infile, char * line_buffer);

struct node *getMostFrequent(struct word_node *head, unsigned int num_to_select);

void printStringList(struct word_node *head);

void freeStringList(struct word_node *head);

int InsertAtEnd(char * word, word_node *head);

char *strip_copy(const char *s); //removes any new line characters from strings

#endif

most_freq.c

#include "most_freq.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct word_node *head = NULL; //unchanging head node
char* str_buffer = NULL;

struct node *readStringList(FILE *infile) {
    char* temp_buffer = malloc (sizeof(char) * 255); //buffer for 255 chars
    while(readLine(infile, temp_buffer) == EXIT_SUCCESS && !feof(infile)) { //while there is still something to be read from the file
        printf("Retrieved Line: %s\n", str_buffer);
    }
}
int readLine(FILE *infile, char * line_buffer) {
   fscanf(infile, "%s", line_buffer);
   str_buffer = strdup(line_buffer);
   if(str_buffer[0] != '\0' || strcmp(str_buffer, "") != 0) {
    return EXIT_SUCCESS; //return success code
   }
   else {
    return EXIT_FAILURE; //return failure code
   }
}

int InsertAtEnd(char * word, word_node *head){
}

void printStringList(struct word_node *top) {
}

char *strip_copy(const char *s) {
}

int main(int argc, char *argv[])
{
    if (argc == 2) // no arguments were passed
    {
        FILE *file = fopen(argv[1], "r"); /* "r" = open for reading, the first command is stored in argv[1] */
        if ( file == 0 )
        {
            printf( "Could not open file.\n" );
        }
        else
        {
            readStringList(file);
        }
    }
    else if (argc < 3) {
        printf("You didn't pass the proper arguments! The necessary arguments are: <number of most frequent words to print> <file to read>\n");
    }
}

文本文件

foofoo
dog
cat
dog
moom
csci401isfun
moon$
foofoo
moom.
dog
moom
doggod
dog3
f34rm3
foofoo
cat
阿甘十

最后一行被读取后,该文件在年底。您的函数仍返回EXIT_SUCCESS(和最后一行),但是您还要检查EOF:,... && !feof(infile)因此处理在最后一行打印之前结束。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在代码的最后一行,我无法打印出结果

来自分类Dev

无法读取CSV的最后一行

来自分类Dev

读取文件最后一行的功能?

来自分类Dev

使用缓冲读取器和写入器删除文本文件中的空白行;但是我总是把最后一行留空

来自分类Dev

从文件读取,但是读取的第一行是错误的

来自分类Dev

从txt文件读取数据仅读取最后一行

来自分类Dev

sscanf无法读取文本文件的最后一行

来自分类Dev

使用python读取csv文件可将我带到最后一行

来自分类Dev

无法读取文件的第一行

来自分类Dev

我想使用sed打印组的最后一行

来自分类Dev

从我的桌面读取文件并从中打印每一行

来自分类Dev

打印使用Python读入的文件的最后一行

来自分类Dev

打印使用Python读入的文件的最后一行

来自分类Dev

读取txt文件,但不显示最后一行

来自分类Dev

脚本仅读取输入文件的最后一行

来自分类Dev

如何[恒定]读取文件的最后一行?

来自分类Dev

程序两次读取文件的最后一行

来自分类Dev

C-从文件问题读取最后一行

来自分类Dev

C程序在文件中打印第一行和最后n行,我在做什么错?

来自分类Dev

打印文件内容时不包含第一行和最后一行

来自分类Dev

试图读取一个csv文件并写入另一个,但是它只写最后一行

来自分类Dev

试图读取一个csv文件并写入另一个,但是它只写了最后一行

来自分类Dev

当我打开一个文本文件时,它只读取最后一行

来自分类Dev

读取并删除txt文件中的第一行(或最后一行),而不进行复制

来自分类Dev

我想使用Java在文件的最后一行中添加一些字符串,但是我被卡住了,需要帮助:)

来自分类Dev

在终端的最后一行上打印

来自分类Dev

Python Pandas无法读取csv文件的第一行

来自分类Dev

无法读取CSV文件的第一行

来自分类Dev

打印文件夹中所有文件的第一行和最后一行

Related 相关文章

  1. 1

    在代码的最后一行,我无法打印出结果

  2. 2

    无法读取CSV的最后一行

  3. 3

    读取文件最后一行的功能?

  4. 4

    使用缓冲读取器和写入器删除文本文件中的空白行;但是我总是把最后一行留空

  5. 5

    从文件读取,但是读取的第一行是错误的

  6. 6

    从txt文件读取数据仅读取最后一行

  7. 7

    sscanf无法读取文本文件的最后一行

  8. 8

    使用python读取csv文件可将我带到最后一行

  9. 9

    无法读取文件的第一行

  10. 10

    我想使用sed打印组的最后一行

  11. 11

    从我的桌面读取文件并从中打印每一行

  12. 12

    打印使用Python读入的文件的最后一行

  13. 13

    打印使用Python读入的文件的最后一行

  14. 14

    读取txt文件,但不显示最后一行

  15. 15

    脚本仅读取输入文件的最后一行

  16. 16

    如何[恒定]读取文件的最后一行?

  17. 17

    程序两次读取文件的最后一行

  18. 18

    C-从文件问题读取最后一行

  19. 19

    C程序在文件中打印第一行和最后n行,我在做什么错?

  20. 20

    打印文件内容时不包含第一行和最后一行

  21. 21

    试图读取一个csv文件并写入另一个,但是它只写最后一行

  22. 22

    试图读取一个csv文件并写入另一个,但是它只写了最后一行

  23. 23

    当我打开一个文本文件时,它只读取最后一行

  24. 24

    读取并删除txt文件中的第一行(或最后一行),而不进行复制

  25. 25

    我想使用Java在文件的最后一行中添加一些字符串,但是我被卡住了,需要帮助:)

  26. 26

    在终端的最后一行上打印

  27. 27

    Python Pandas无法读取csv文件的第一行

  28. 28

    无法读取CSV文件的第一行

  29. 29

    打印文件夹中所有文件的第一行和最后一行

热门标签

归档