C++程序设计原理与实践第10章习题12

#include"std_lib_facilities.h"

int main()
try
{
    cout << "Please enter the name of file you want to find: ";
    string find_file;
    cin >> find_file;
    ifstream fifs(find_file.c_str());
    if (!fifs)error("can't open the file : ", find_file);

    cout << "Please enter the word you want to find: ";
    string find_word;
    cin >> find_word;

    cout << "Please enter the name of file you want to write: ";
    string write_file;
    cin >> write_file;
    ofstream wofs(write_file.c_str());
    if (!wofs)error("can't open the file : ", write_file);

    vector<string>file_to_string_vector;
    string file_string;
    while (getline(fifs, file_string))file_to_string_vector.push_back(file_string);
  
    vector<vector<string>>desperate_strings(file_to_string_vector.size());
    
    for (int i = 0; i < file_to_string_vector.size(); i++)
    {
        stringstream string_line (file_to_string_vector[i]);
        while (string_line>> file_string)desperate_strings[i].push_back(file_string);
    }
  
    for (int i = 0; i < desperate_strings.size(); i++)
    {
        for (int j = 0; j < desperate_strings[i].size(); j++)
        {
            if (desperate_strings[i][j] == find_word)
            {
                wofs << "The lins is " << i + 1<<" :\n";
                for (int q = 0; q < desperate_strings[i].size(); q++)
                    wofs << desperate_strings[i][q] << ' ';
                wofs << '\n' << '\n';
            }
        }
    }
}
catch (exception& e) {
    cerr << "error: " << e.what() << '\n';
    return 1;
}
catch (...) {
    cerr << "Oops: unknown exception!\n";
    return 2;
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书中全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。   ·C++初学者的权威指南。无论你是从事软件开发还是其他领域的工作,本书将为你打开程序开发之门。   ·中高级程序员的必备参考。通过观察程序设计大师如何处理编程中的各种问题,使你获得新的领悟和指引。   ·全面阐释C++基本概念和技术。与传统的C++教材相比,本书对基本概念和技术的介绍更为深入,为你编写实用、正确、易维护和有效的代码打下坚实的基础。   ·强调现代C++编程风格。本书从开就介绍现代C++程序设计技术,并揭示了大量关于如何使用C++标准库来简化程序设计原理,使你快速掌握实用编成技巧。 图书目录   出版者的话   译者序   前言   第0 致读者   第1 计算机、人与程序设计   第一部分 基本知识   第2 Hello,World!   第3 对象、类型和值   第4 计算   第5 错误   第6 编写一个程序   第7 完成一个程序   第8 函数相关的技术细节   第9 类相关的技术细节   第二部分 输入和输出   第10 输入/输出流   第11 定制输入/输出   第12 一个显示模型   第13 图形类   第14 设计图形类   第15 绘制函数图和数据图   第16 图形用户界面   第三部分 数据结构和算法   第17 向量和自由空间   第18 向量和数组   第19 向量、模板和异常   第20 容器和迭代器   第21 算法和映射   第四部分 拓宽视野   第22 理念和历史   第23 文本处理   第24 数值计算   第25 嵌入式系统程序设计   第26 测试   第27 C语言   术语表   参考书目   第五部分 附录?   附录A C++语言概要   附录B 标准库概要   附录C Visual Studio简要入门教程   附录D 安装FLTK   附录E GUI实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值