C程序:如何从一个文件读取并写入另一个文件?索引

时间:2010-10-17 22:26:29

标签: c indexing

我正在尝试编写一个程序来读取文件的现有记录,然后将它们编入另一个文件中。记录存储在名为“players.bin”的文件中,该文件是每个记录包含的CSV格式(用户名,姓氏,名字,numwins,numlosses,numties,我想在名为“players.idx”的新文件中将它们编入索引。但是players.idx文件只包含一对序列,其中username是玩家的用户名,seq#是存储在播放器文件中的玩家记录的序列号。

这是我到目前为止所提出的:

 fd = open("players.bin", O_WRONLY | O_CREAT |
        O_APPEND, S_IRWXU);
 if (fd > 0) {
    //Read the contents of the file (if any)
    //and then print out each record until the end of file
    while (num = read(fd, &plyr, sizeof (plyr)) != 0) {
        printf("%s, %s, %s, %d, %d, %d\n\n", plyr.user_name,
                plyr.last_name, plyr.first_name, plyr.num_wins,
                plyr.num_losses, plyr.num_ties);
    }
    close(fd);
}

fd2 = open("players.idx", O_WRONLY | O_CREAT |
        O_APPEND, S_IRWXU);
if (fd > 0) {
    while (num = read(fd, &plyr, sizeof (plyr)) != 0) {   
        num = write(NOT SURE WHAT TO PUT HERE);
        record_count++;  //I am going to use this to keep track of seq numbers
    }
    close(fd2);
}

我真的很困惑如何解决这个问题...谢谢

1 个答案:

答案 0 :(得分:3)

查找有关在C中打开,阅读和编​​写文件的书籍/教程。这很简单,一旦你知道怎么做,只需打开一个文件进行阅读,另一个用于写作。< / p>

对不起,我不是更具体,但是为了详细解释,我必须写一个loong的答案,这个答案仍然比你读一本关于这个主题或教程的书还要差。

在牢牢抓住它之后,看看fscanffprintf,这两个函数将帮助您轻松解析和编写索引。

编辑:我建议不要跳过图书/教程部分。你打开你的文件是错误的,我怀疑你也错误地读了.bin,但是我必须看到你的程序的其余部分才能确定。