C++文件I/O和指针
C++ File I/O and Pointers
我试图创建一个使用输入文件"cardList.txt"的程序,该文件包含:
Schmidt, Helga
Alvarez, Ruben
Zowkowski, Aaron
Huang, Sun Lee
Einstein, Beverly
我想按姓氏的字母顺序排序。
main:
#include <iostream>
#include <fstream>
#include <string>
#include "insertsortFunct.h"
using namespace std;
int main(void){
ifstream inData;
ofstream outData;
const int listSize = 5;
char cardList[listSize][25];
instruct();
openFile(inData, outData);
buildList(cardList, inData);
inData.close();
sortList(cardList, listSize);
cout << endl << "Your list is sorted" << endl;
writeFile(cardList, outData);
outData.close();
return 0;
}
我在一个单独的文件中定义了这些函数:
#include "insertsortFunct.h"
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
void instruct(void){
cout << "The program insertSort.cpp reads the file, cardList.txt " <<
"into an array and" << endl;
cout << "sorts the array using the selection sort algorithm." << endl;
cout << "The sorted array is written to a file named cardList.srt." <<
endl;
}
void openFile(ifstream& inputFile, ofstream& outputFile){
inputFile.open("cardsList.txt");
if(!inputFile.is_open())
exit(1);
outputFile.open("cardsList.srt");
if(!outputFile.is_open())
exit(1);
}
void buildList(char (*array)[25], ifstream& inputFile){
for (int i = 0; i < 5; i++)
inputFile >> array[i];
}
void sortList(char (*list)[25], int length){
int firstOutOfOrder, location;
char temp[25];
for (firstOutOfOrder = 1; firstOutOfOrder < length; firstOutOfOrder++){
location = firstOutOfOrder;
while ( location > 0 && list[location - 1] > list[location]){
temp[25] = list[location][25];
list[location][25] = list[location - 1][25];
list[location - 1][25] = temp[25];
location--;
}
}
}
void writeFile(char (*array)[25], ofstream& outputFile){
for (int i = 0; i < 5; i++)
outputFile << array[i];
}
然而,我的程序只打印instruct();
语句,似乎没有发生任何其他事情。这个程序应该创建一个带有排序列表的文件cardList.srt,它在编译后不会出现在我的目录中。
相关文章:
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 在 C++ 中使用指针将对象写入文件
- 整数键映射到头文件中的成员函数指针
- 通过指针读取文件
- 如果我删除指针,我的C++程序会意外删除系统文件吗?
- 使用此指针在 c++ 中将对象写入二进制文件
- 在两个.cpp文件之间定义全局类/结构指针
- 如何从文件中读取指向对象的指针?
- 使用指针编译代码后,.cpp文件将变为随机字符
- 为什么当我尝试将char输入到int时,文件指针会卡住
- free():在有效指针异常中-使用流读取巨大文件时
- 用指向文件的指针存储数据结构
- 当 ofstream 指针位于 std::map 中时,文件写入不会发生 C++.
- fprintf 不打印到文件,当文件指针在其他地方声明时
- 空指针(为缺少的输出数组调用的 create() 在 create,文件 /home/m/OpenCV/modules/
- 在接口文件中使用模板时出现"not a type"错误的函数指针
- 如何将文件描述符 (int fd) 转换为文件指针 ( 文件* fp )
- 字符指针文件I/O