文件的输入输出(需要按要求完成函数)
  • 板块题目总版
  • 楼主NJUCSER
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/3/19 16:28
  • 上次更新2023/11/5 01:53:36
查看原帖
文件的输入输出(需要按要求完成函数)
408035
NJUCSER楼主2021/3/19 16:28

请实现如下函数原型(参数变量名可以修改,但函数名、参数类型、返回值类型不可修改):

void merge_file(const char *src1, const char *src2, const char *dst);
void upper_file(const char *src, const char *dst);
void lower_file(const char *src, const char *dst);
void sort_inc_file(const char *src, const char *dst);
void sort_dec_file(const char *src, const char *dst);

下述的 src, dst 等都是指文件名为 src, dst 等的文件。

对于 merge_file 函数,从 src1 和 src2 中读取单词,并按照各自读入时的顺序,先将 src1 中的单词输出到 dst 中,再将 src2 中的单词输出到 dst 中。

对于 upper_file 函数,从 src 中读取单词,将单词中的每个字母都改为大写形式,然后按照读入时的顺序输出至 dst 中。

对于 lower_file 函数,从 src 中读取单词,将单词中的每个字母都改为小写形式,然后按照读入时的顺序输出至 dst 中。

对于 sort_inc_file 函数,从 src 中读取单词,将所有单词按照字典序升序排序(单个字符的大小比较等价于其对应的 ASCII 值的大小比较),然后按照该顺序输出至 dst 中。

对于 sort_dec_file 函数,从 src 中读取单词,将所有单词按照字典序降序排序(单个字符的大小比较等价于其对应的 ASCII 值的大小比较),然后按照该顺序输出至 dst 中。

提交代码时,请使用如下模板:

void merge_file(const char *src1, const char *src2, const char *dst) {}
void upper_file(const char *src, const char *dst) {}
void lower_file(const char *src, const char *dst) {}
void sort_inc_file(const char *src, const char *dst) {}
void sort_dec_file(const char *src, const char *dst) {}

// ATTENTION: DO NOT MODIFY THE CODE BELOW

#include "test.hpp"

int main()
{
    test();
    return 0;
}

当然,这是一个对于任何操作,都什么也不做的程序,显然是错误的。不过,这段代码够通过编译,请在此基础上进行修改后提交。

若编译失败,请检查代码,保证没有修改以上5 个函数的声明,并且没有修改最后7 行代码。 每个单词的最大长度为10 ,单词的字符集为 26 个大写字母和 26 个小写字母。

一个文件中保证输入单词的数量不超过100 ,每个单词一行,保证输入文件的最后一个字符是 '\n' .

注意:每个文件中的单词个数是不确定的,你可以通过读入函数的返回值,来判断是否已经读完全部的单词。

注意:请不要修改 stdin,stdout 和 stderr 的值(比如使用 freopen 函数等),也不要从标准输入进行任何读入、向标准输出、标准错误输出进行任何输出,否则可能会导致结果错误。

2021/3/19 16:28
加载中...