[英]How do I read input .in files in command line on windows
我完成了我的代码,但问题是我不知道如何根据给定的说明对其进行测试。
讲师为我们提供了3
具有以下值的输入文件:
文件 1:33 33 20
文件 2: 5 7
文件 3:18 18 15
我应该采用这些值并使用这些存储的值创建事件对象。 问题是讲师在Ubuntu
上给出了测试方法,她展示了如何在命令行中输入文件,如:
./sApp < simulationShuffled3.in
所以我真的很困惑我应该如何让它工作。 我目前正在使用带有终端附件的 Windows 控制台、VStudios 和 sublime text。
我目前正在使用的代码来自我的课程笔记中的一个例子是
while (getline(cin >> ws, aLine)) { // while (there is data)
stringstream ss(aLine);
ss >> arrivalTime >> processingTime;
Event newEvent = Event('A',arrivalTime,processingTime);
eventPriorityQueue.enqueue(newEvent);
}
stdin
输入读取输入您可以通过三种方式执行此操作:
type input.in | python file_requiring_input.py # in python
type input.in | go run file_requiring_input.go # in go
type input.in | node file_requiring_input.js # in js
javac file_requiring_input.java &&
type input.in | java file_requiring_input # in java
g++ file_requiring_input.cpp &&
type input.in | a.exe # in cpp
gcc file_requiring_input.c &&
type input.in | a.exe # in c
另一种方式
python file_requiring_input.py < input.in # in python
g++ file_requiring_input.cpp &&
a.exe < input.in # in cpp
gc .\input.in | python file_requiring_input.py # in python
g++ .\file_requiring_input.cpp ;
gc .\input.in | .\a.exe # in cpp
gc
是Get-Content
的缩写。gc
的其他别名是cat
和type
。 这意味着所有三个名称都可以用作替换或 gc
cat input.in | python file_requiring_input.py # in python
g++ file_requiring_input.cpp &&
cat input.in | ./a.out # in cpp
另一种方式
python file_requiring_input.py < input.in # in python
g++ file_requiring_input.cpp &&
./a.out < input.in # in cpp
已经编辑了代码以测试所有内容。 如果我错了或者要添加更多内容,请纠正我。 此外,input.in 更普遍地是一个文本文件,因此您可以根据需要创建 input.txt 文件,它的工作原理相同
好吧,由于这是一项任务,因此我不会为您提供现成的代码。 相反,我只会为您指出正确的方向。
在Windows中,您可以为可执行文件提供参数,例如在Command Prompt
用空格分隔:
C:\Assignment> Test.exe file1.in file2.in file3.in
而且,它也将在Ubuntu
。
因此,您需要研究Command Line Arguments
, File Handling
,从文件读取; 并且,您必须将这些从文件读取的字符串转换为整数。
命令行参数: http : //en.cppreference.com/w/c/language/main_function
文件处理: http : //en.cppreference.com/w/cpp/io/basic_fstream
这是读取文件( std::ifstream
)的最小示例:
我在C:\\Test\\Test.txt
有一个测试文件,其内容如下:
11 22
12 23
23 34
这是main.cpp
进行测试:
#include <iostream>
#include <fstream>
#include <string>
int main( int argc, char *argv[] )
{
const std::string filename { R"(C:\Test\Test.txt)" };
std::ifstream ifs { filename };
if ( !ifs.is_open() )
{
std::cerr << "Could not open file!" << std::endl;
return -1;
}
int arrivalTime { 0 };
int processingTime { 0 };
while ( ifs >> arrivalTime >> processingTime )
{
std::cout << "Arrival Time : " << arrivalTime << '\n'
<< "Processing Time : " << processingTime << std::endl;
}
ifs.close();
return 0;
}
输出:
到达时间:11
处理时间:22
到达时间:12
处理时间:23
到达时间:23
处理时间:34
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.