如何通过键入 "a.out < textfilename.txt" 让 .out 文件通过终端读取文本文件
How to have a.out file read text file through terminal by typing "a.out < textfilename.txt"
我是编程的新手,我找不到问题的答案。
这是我必须打开程序的代码,并在终端运行时读取我想要的文本文件:
using namespace std;
int main(int argc, string *argv[])
{
string fileName;
getline(cin, fileName);
ifstream infile(fileName.c_str());
int total[26] = {0};
if (!infile)
{
cout << "Error opening file" << endl;
return 0;
}
char b;
while (infile.get(b))
{
if (isalpha(b))
{
b = toupper(b);
int index = b - 'A';
total[index]++;
}
}
我可以运行程序并键入我要通过终端打开的文件,但是我的讲师的程序可以通过在终端中键入以下内容打开文件:
A.Out&lt;text.txt
当我使用getline而不是使用fstream时,它会读取文件,而不是整个文件(直到到达eof)。我不确定我应该如何编码。(提交了作业,这只是我自己的参考)
有人使用<
字符重定向时,该文件变为标准输入。因此,cin
将包含text.txt
的内容。由于CIN是istream
,您可以做:
while (cin.get(b)) {
// what you've got now...
}
相关文章:
- .cpp和.h文件中的模板专用化声明
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- 为什么 .out 文件是十六进制而不是二进制
- g++ 不创建"a.out"文件
- 如何将文件写入当前目录而不是Bazel-Out
- 为什么PHP的Shell_exec没有给出某些A.Out文件的输出
- g++.exe:error:libgomp-1.dll:没有这样的文件或目录;make:***[Out release]
- Android Cmake编译器正在生成带有额外前缀和符号后缀的.out文件
- 尝试同时写入 std:out 和文件
- 如何通过键入 "a.out < textfilename.txt" 让 .out 文件通过终端读取文本文件
- 什么可能导致错误:"Fatal Error: Out of memory - aborting"简单地包含头文件?
- a.out Linux 可执行文件是哪个程序
- 如何将llvm::out()重定向到文件
- 在 C++ 文件上的 Windows 环境中运行 Unix 类似命令"./a.out <data.txt"
- 可以在windows中运行.out文件吗
- 编译器g++不能创建a.out文件
- 读/写同一个文件(获取gmon.out)
- 将打开的文件的ios_base从'out'更改为'app'而不关闭文件
- 如何在unix环境中使用.in和.out文件进行测试
- 为什么编译文件时文件名为"a.out" C++?