You should be comfortable with the content in the modules up to and including the module "Input Output" for this project.
You must follow the style guidefor all projects.
For this project, download the text file weblog.txt
Note: To download this file, right click on the link and select SAVE AS
This file is an Apache web log taken from the web server for St. Mary's University. When a visitor goes to their web site, the visitor's browser makes a request to the web server to view a web page, which is a file residing on the server. Each time a page is requested by a browser, the web server records information about that request. This weblog.txt holds the details of some of those requests. See below for a list of fields with an example:
This file does not include all possible information that could be collected by a web server. The full description of the apache log file format can be found here: http://httpd.apache.org/docs/2.2/logs.html
For this project, you can use each line of the web log file as one string using the string class' getline function.
Minimum Requirements:
· Create a non-member function to read each line of the web log file (4 points).
· Each line should then be stored in a vector such that the first element of the vector is the first line of the web log file. Because each element will hold an entire line from the file, the vector should be declared as a vector of strings (4 points). Note: You must declare the vector in a function.
· Create another non-member function to sort the contents of the vector. Make sure to pass the vector by reference or your sort will dissappear when the function ends! (4 points).
· Create one more non-member function to write the contents of the vector to a file. Each element should be on its own line in the new file. The contents of the new file should look like the original input file once your program completes, but in sorted order (4 points).
· Create a main function that calls all of your non-member functions (4 points).
Answer
木其工作室
#include<iostream>
#include<sstream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
void readFile(vector<string>& myVector);
void outFile(vector<string>& myVector);
void sortVector(vector<string>& myVector);
int main()
{
vector<string> myVector;
readFile(myVector);
sortVector(myVector);
outFile(myVector);
system("pause");
return 0;
}
void readFile(vector<string>& myVector)
{
string line;
ifstream myfile ("weblog.txt");
if (myfile.is_open())
{
while( getline(myfile, line) )
{
myVector.push_back(line);
}
myfile.close();
cout<<"File Read successfully."<<endl;
}
else
{
cout<<"Error"<<endl;
}
}
void outFile(vector<string>& myVector)
{
//writing to a file
ofstream outFile;
outFile.open("weblogSorted.txt");
for(unsigned int i = 0; i<myVector.size(); i++)
{
outFile<<myVector[i]<<std::endl;
}
outFile.close();
cout<<"Sorted elements written to a file."<<endl;
}
void sortVector(vector<string>& myVector)
{
//sorting vector
std::sort(myVector.begin(), myVector.end());
cout<<"Vector sorted successfully successfully."<<endl;
}
No attachments uploaded.
相关推荐
在C++编程中,输入/输出(I/O)机制是一个重要的组成部分,但它们不是语言的基本特性,而是通过类库来提供的。本章主要探讨的是C++的I/O类层次结构,包括不同类型的输入/输出流类、操纵符、文件流以及字符流。 12.1...
Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.
在这个小作业中,我们有一个简单的词法分析器,能够处理特定的语言源代码,并生成一个名为“output”的文件来展示分析结果。 首先,词法分析器的工作原理通常是通过定义一套规则,也就是正则表达式,来识别源代码中...
问题描述:用2台处理机A和B处理n个作业。设第i个作业交给机器A处理时需要时 3-1独立任务最优调度问题 间a,若由机器B来处理,则需要时间b。由于各作业的特点和机器的性能关系,很可能对于某些i,有a≥b,而对于某些j,ji,...
C++程序设计教学课件的第九章主要讲解了C++中的输入输出操作,涵盖了字符串和单个字符的读取、字符分类函数、数字的输入以及不同数据类型的输出格式化等内容。 首先,文档讲解了字符串的读取。在C++中,可以使用cin...
Input contains multiple test cases. Each test case contains a integer N, and then N integers follow in the same line. A test case starting with 0 terminates the input and this test case is not to be ...
int processArray(int[][] input, int[][] output); } ``` `Library`是JNA提供的一个接口,代表了本地库。这里我们声明了一个名为`processArray`的函数,它接受一个二维整型数组作为输入,另一个二维整型数组作为...
在C++编程中,输入/输出(I/O)机制并不属于语言本身,而是通过类库提供的。本章主要探讨的是C++的输入/输出类层次结构,它为开发者提供了高效且灵活的I/O操作手段。 12.1 概览 C++中的I/O操作基于流(stream)的...
Qt调用C\C++语言编写的动态链接库示例, #ifndef ENGINEMODEL_H #define ENGINEMODEL_H #include "macrodef.h" ...typedef void (__stdcall *ENGINEMODEL)(INPUTDATA *in, OUTPUTDATA *ot); #endif // ENGINEMODEL_H
此外,还引入了`input_iterator_tag`、`output_iterator_tag`等分类标签,帮助编译器优化迭代器的使用。 3. **模板元编程**: 模板元编程是C++中的一种编译时编程技术,C++2005对其支持更加强大。你可以使用模板来...
在C++编程中,读取和写入TXT文件是常见的操作,这主要涉及到I/O流(Input/Output Stream)的概念。下面将详细讲解如何使用C++进行TXT文件的读取和写入,以及相关的知识点。 1. **I/O流库**: C++中的I/O操作基于...
标题中的“潮流计算C++程序”是指使用C++编写的一个软件工具,专门用于执行电力系统的潮流计算。这个程序可能包含了数据读取、计算模型构建、求解算法实现和结果输出等一系列功能。 描述中提到的"input.txt"文件是...
output.reserve((input.size() + 2) / 3 * 4); for (size_t i = 0; i < input.size(); i += 3) { int sextet_a = input[i] >> 2; int sextet_b = ((input[i] & 0x03) ) | ((input[i + 1] & 0xf0) >> 4); int ...
saveGrayscaleBMP(pixels, width, height, "output.bmp"); return 0; } ``` 以上代码只是一个简化的框架,实际实现还需要考虑错误处理、内存管理以及对不同色彩深度的支持。通过这样的方法,你可以编写一个完全...
2 Introduction to C++Programming,Input/Output and Operators 3Introduction to Classes,Objects,Member Functions and Strings 4Algorithm Development and Control Statements:Part 1 5 Control Statements:Part...
在C++编程中,处理文本文件是常见的任务之一,尤其是读取和写入TXT文件。在给定的标题“c++按行读写txt文件”和描述中,我们可以看到一个在Visual Studio 2008环境下编写的C++程序,该程序实现了对TXT文件的逐行读取...
2. **创建输入和输出上下文**:使用`avformat_alloc_output_context2`创建一个输出上下文对象,它将用于存储有关输出文件格式的信息。对于屏幕录制,你需要创建一个`AVInputFormat`对象,这里可以设置为`x11grab`。 ...
在Linux环境下,C++编程语言提供了多种方法来处理CSV(Comma Separated Values)文件的读写操作。CSV文件是一种常见的数据存储格式,通常用于数据交换,因为它的结构简单且易于解析。以下将详细介绍如何在C++中进行...
在C++编程中,文件操作是一项基础且重要的技能,它涉及到数据的持久化存储,使得程序可以在运行过程中或结束后保存和加载数据。本篇将详细讲解C++中的文件读写操作,包括基本概念、常用函数以及实践应用。 一、基本...
在C++编程中,文件读写是至关重要的技能,尤其对于地质大学信息工程学院的学生来说,掌握这一技术能帮助他们在处理大量数据时更加得心应手。本文将深入讲解C++中的文件操作,并通过实例来指导低年级同学如何进行文件...