[英]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.