-1
我正在尝试编写一个程序,该程序需要3个输入.txt文件,使用模板对文件进行排序,然后将排序后的数据写入3个输出文件。我想要排序的3个输入.txt文件是IntFile.txt,FloatFile.txt和QUOTES.txt。存储在文件中的数据类型分别是整数,双精度和字符串。现在,我正试图让IntFile.txt进行排序,并且无法读取.txt文件并将其保存到数组以发送到我的模板进行排序。我无法找到一种方法来从文件中读取最后一个数据后停止for循环。迄今为止,我已经写程序是C++使用模板排序.txt文件
`#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include "sorting.h"
using namespace std;
int main()
{
ifstream inNumbers("IntFile.txt");
ifstream inFloaters("FloatFile.txt");
ifstream inWords("QUOTES.txt");
ofstream outNumbers("SortedInt.txt");
ofstream outFloaters("SortedFloat.txt");
ofstream outWords("SortedQuotes.txt");
int i, length = 0;
int data[100];
if (!inNumbers)
{
cerr << "IntFile.txt file could not be opened" << endl;
exit(1);
}
if (!inFloaters)
{
cerr << "FloatFile.txt file could not be opened" << endl;
exit(1);
}
if (!inWords)
{
cerr << "QUOTES.txt file could not be opened" << endl;
exit(1);
}
for (i = 0; data[i] ; ++i)
{
inNumbers >> data[i];
length += 1;
}
sorting(data[100], length);
}`
这是数字是如何出现在IntFile.txt:
55 67 458 23 81 33
782 375 528
405 324 950 46
14 864 551 38 167 518 630
是在'IntFile.txt'号码在不同的行? – 2015-02-05 19:36:33
我编辑了问题以显示示例输入 – 2015-02-05 19:46:03
@StephenOsborne'sorting(data [100],length);'这不符合您的想法。这不会将数组发送到“排序”。它将(无效)条目'data [100]'发送到排序函数。 – PaulMcKenzie 2015-02-05 19:47:15