C语言记事本程序的部分功能实现

img

试了几种方法的不够简洁
有没有会写的 分享一下思路 谢谢啦
就用输入输出函数


#include <iostream>
#include <stdlib.h>
#include <unistd.h>
#include <fstream>
#include <time.h>
#include <string>
#include <string.h>
using namespace std;

int main() {
  cout << "input: exit to quit this process" << endl;
  time_t t;
  time(&t);
  struct tm st;
  localtime_r(&t, &st);
  char cdate[12];
  strftime(cdate, sizeof(cdate), "%Y-%m-%d ", &st);
  fstream fs;
  const char *fname = "testiostream.txt";
  fs.open(fname, ios::app);
  while (true) {
    string line;
    getline(cin, line);
    if (line == "exit") {
      break;
    }
    time(&t);
    localtime_r(&t, &st);
    char ctime[10] = {0};
    strftime(ctime, sizeof(ctime), "%H:%M:%S ", &st);
    fs << cdate << ctime << line << '\n';
  }
  fs.close();
  cout << "file closed ..." << endl;
  cout << endl;

  ifstream of(fname, ios::out);
  char cline[1024];
  while (!of.eof()) {
    memset(cline, 0, 1024);
    of.getline(cline, 1024);
    cout << cline << endl; 
  }
  of.close();
  cout << "output file content end ..." << endl;
  return 0; 
}

排序的问题你自己搞吧。。