【发布时间】:2016-09-08 01:19:54
【问题描述】:
我正在为学校做一个项目,我需要从文件中读取文本。
听起来很容易,但我的教授对项目进行了限制:NO STRINGS ("不允许使用字符串数据类型或字符串库。")
我一直在使用 char 数组解决这个问题;但是,我不确定如何使用 char 数组从文件中读取。
这是来自另一个网站的示例,介绍了如何使用 字符串读取文件。
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
cout << line << '\n';
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
这里重要的一行是while ( getline (myfile,line) );
getline 接受一个 ifstream 和一个 string(不是 char 数组)。
感谢任何帮助!
【问题讨论】:
-
如果遇到NO STRINGS,只是一个空字符串“”,或者除了exit什么都没有,你需要什么结果?
-
@vinllen 我将在这里引用规则:“不允许使用字符串数据类型或字符串库。”
-
如果您的讲师实际上将其全部大写并且没有明确声明您不能使用
std::vector,我会使用std::vector。见stackoverflow.com/questions/4761529/… -
文本文件包含什么?这很重要,因为如果它包含数字,那么不需要字符串,如果它包含文本,那么应该使用 char*
标签: c++ arrays char fstream ifstream