I/O 重定向在C++中是什么意思
What does I/O redirection mean in C++?
我的程序需要正确处理以下命令行参数。但我不明白那是什么或如何实现它。
main.exe < test.txt
测试.txt文件包含:
类型计数:20
固体:6
其他: 0
在 shell 脚本中,"<"意味着文件的内容或右侧程序的输出(在您的情况下为文本.txt)将通过标准输入(C++ 中的 std::CIN)传递到左侧。这意味着您可以使用 std::cin 直接读取文件。
还有其他像">"这样的元素,它使左边的标准输出成为右边的元素。
操作系统中的进程具有用于输入和输出数据的IO功能。c++ 中的标准输入与 std::cin 相关联,标准输出与 std::cout 相关联,标准错误与 std::cerr 相关联。
在 Linux 中,提供的语法意味着您将在标准输入中获取文件内容。然后,您可以使用该路径加载文件并执行需要对其执行的任何操作。
int main(void)
{
std::string file, line;
while (std::getline(std::cin, line))
{
file += line;
file += "n";
}
//Do what you need to do here with file contents
return 0;
}
编辑:基于评论的几个调整,自从我需要实际编写这样的 Linux 程序以来已经有一段时间了。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思