2011-10-28 22 views

答えて

4

多田:もう少し実用的なノートでhttp://en.wikipedia.org/wiki/Quine_(computing)

、ほとんど誰もこれを行いません。それは無意味です。ソースコードを配布したい場合は、まともな人のようにtarballまたはzipファイルに入れてください。

+0

これは興味深い学習体験です。 –

+4

あなたのために他の人にそれをやるように頼むことで、面白くないことがあります。 –

+0

基本的に、トリックは文字列を保持するようにコードを書くことです。その文字列の中には、文字列の内容が(内部に)ある場合を除いて、同じコードの_exactがありますが、コード内にはどこにもない(または2つの)マジックキー文字があります。その後、そのキー文字までコンソールに文字列を表示し、文字列全体を表示してから_キー_文字列を表示します。 –

1
#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

int main() { 
    string line; 
    ifstream sourceFile(__FILE__); 
    if (sourceFile.is_open()) 
    { 
    while (sourceFile.good()) 
    { 
     getline (sourceFile,line); 
     cout << line << endl; 
    } 
    sourceFile.close(); 
    } 

    else cout << "Unable to open source file"; 

    return 0; 
} 
+0

'good()'、 'eof()'、&cをループ条件として呼び出すと、ほとんど常にバグプログラムが発生します。ヒント:あなたのプログラムが余分な空白行を印刷するのはなぜですか? –

+2

代替実装については、[ここ](http://ideone.com/VvnpW)を参照してください。 –

+0

ええ、もっと意味があります。 –

関連する問題