⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 11-8.txt

📁 C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.141
💻 TXT
字号:
/* 范例:11-8 */
#include <fstream.h>
void main()
{
  fstream io_file;		// #1.1 只定义变量
  char ch;
  int start_pos=0;		// 开始写入字符串位置
  int count=0;

  io_file.open("out.txt",ios_base::in|ios_base::out); // #1.2
  if(io_file.fail())		// #2 打开文件失败时,fail()==true
  {
    cerr << "文件打开失败!\nPress any key to Exit...";
    getchar();
    exit(1);
  }

  if((io_file.peek())==EOF)	// #3 无文件的文件(仅EOF字符)
  {
    cerr << "文件内无文件!\n";
  }
  else
  {
    cout << "文件内源文件如下\n====================\n";
    cout << io_file.rdbuf();	// 输出 rdbuf()
    count = io_file.tellg();	// #4 取得目前位置
    cout << "\n====================\n";
    cout << "共 " << count << " 字符\n";
    cout << "您要从哪个位置插入字符串?(1-" << count+1 << ")";
    cin >> start_pos;
    start_pos--;  // 由0开始,因此输入值减一
    if((start_pos <= count) && (start_pos >=0))
      io_file.seekp(start_pos);	// #5 移到指定位置
    else
      io_file.seekp(0);
    while(cin.get() != '\n')		// 清字符(含'\n')
    {
    }
  }

  cout << "输入字符串,此字符串会被插入指定位置"
    	<< "(覆盖,不清除源文件!)\n";

  while((ch=cin.get()) != '\n')	// 输入非'\n'字符,则写入io_file
  {
    io_file << ch;
  }

  io_file.seekg(0); 			// #6 字符指针指到头(0)
  cout << "全部字符串为:\n" << io_file.rdbuf() << "\n";
  count = io_file.tellg(); 	// 取得总字数
  cout << "请输入要输出最后几个字符?(1-" << count << ") ";
  cin >> start_pos;

  // 输入合理值时,倒退指定格数输出
  if((start_pos>=0)||(start_pos<=count))
  {
    io_file.seekg(count-start_pos);
    cerr << io_file.rdbuf();
  }

  io_file.close();

  getchar();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -