我想編寫一個簡單的Bash腳本來編譯我的C++代碼,在這種情況下,它是一個非常簡單的程序,它只是將輸入讀入向量,然後打印矢量的內容。從Bash管道輸入到C++ cin
C++代碼:
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<string> v;
string s;
while (cin >> s)
v.push_back(s);
for (int i = 0; i != v.size(); ++i)
cout << v[i] << endl;
}
bash腳本run.sh:
#! /bin/bash
g++ main.cpp > output.txt
讓編譯我的C++代碼,並創建的a.out和output.txt的(裏面是空的,因爲沒有輸入)。我嘗試了一些使用「input.txt <」的變體,但沒有運氣。我不知道如何將我的輸入文件(只是一些隨機單詞的簡短列表)輸入到我的C++程序的cin中。
那麼,至少它編譯。這比這個網站上的大多數要好。 – WhozCraig
[用C++讀取管道輸入](http://stackoverflow.com/questions/5446161/reading-piped-input-with-c?rq=1) –
cat「input.txt」| ./a.out> output.txt –