私はBabelを使ってorg-modeのコードブロックを評価できることを知っています。しかし、バベルは "シン"を扱うことができないようです。この"cin"が関係するコードブロックを評価するために、org-modeでBabelを使用することはできますか?
int a;std::cin >> a;std::cout << a;
同様バベルは、入力する値を掲載していません、それは出力値0
缶バベルは、この問題に対処しますか?または、他のツールでこれを行うこともできます。
私はBabelを使ってorg-modeのコードブロックを評価できることを知っています。しかし、バベルは "シン"を扱うことができないようです。この"cin"が関係するコードブロックを評価するために、org-modeでBabelを使用することはできますか?
int a;std::cin >> a;std::cout << a;
同様バベルは、入力する値を掲載していません、それは出力値0
缶バベルは、この問題に対処しますか?または、他のツールでこれを行うこともできます。
私はこれに対して2つの異なるアプローチを考えることができます。最初の方法は、input.data
のようなファイルをホームディレクトリに例えば4
の内容で作成することです。これはstd::cin
に供給されます。すると、次のようなコードを書く:
#+begin_src C++ :results output :includes <iostream> :cmdline < ~/input.data
int a;
std::cin >> a;
std::cout << a;
#+end_src
#+RESULTS:
: 4
をより興味深いものです第二のアプローチは、対話のためのlisp
コードの少しを使用することです。このアプローチでは
#+name: input
#+begin_src elisp
(completing-read "Enter a number: " nil)
#+end_src
#+begin_src C++ :results output :var input=input
#include <iostream>
#include <string>
int main() {
int a = std::atoi(input);
std::cout << a;
}
#+end_src
#+RESULTS:
: 3
、あなたは次のようになりますemacsの中に数字を入力するよう促しました。数字はC++
コードで使用されます。
ありがとうございました!それが答えです。そして、私は "#include
@ernestよろしくお願いします! –
可能性はありません。 http://stackoverflow.com/questions/12129038/how-to-pipe-input-to-a-src-block-as-stdin – pdexter