2016-08-25 4 views
2

だから、ちょうど始めたプログラミングI大学で;残念ながら、これは:VC++と* nixコンパイラの相違点

の提出は、メモ帳でなければなりません*

XX PT固定幅フォントでの.txtファイル:手のひらを顔に当てる:

しかしポイント以外だ

!だから、「必須」である(私は上の確認メールを受け取っていないかどうか* nixのは、それがWindowsで動作するよう、結構です)のために途方もなく不必要と思われるVC++、使用するには:

#include <iostream> 

int main() 
{ 
    std::cout << "Hello, world." << endl; 

    system("pause"); 

    return 0; 
} 

のほかに私はWindows環境での開発に立つ、と* nixのマシンを好むことができないという事実...

私の質問はsystem("pause")を複製しようとする試みで、具体的getline、次のコードは、Windowsで正しくコンパイルするかどうかではありません機能性:

#include <iostream> 
#include <string> 

using namespace std; 

int main() 
{ 
    string p; 

    cout << "Hello, world" << endl; 
    cout << "Press enter..."; 
    getline(cin, p); 

    return 0; 
} 

単純なプログラムの実行結果に影響するVC++コンパイラと* nixコンパイラには大きな違いがありますか?

私はウェブを検索しましたが、多くの回答は見つかりませんでした。

+3

適合コードはすべてのコンパイラで動作するはずです。しかし、MSVSのユーザーであることは、g ++やclangが持ついくつかの機能が不足していると言うことができるので、問題に陥る可能性があります。 – NathanOliver

+0

さて、ある時点で問題になるかもしれないと私は考えていましたが、すべてのWindows固有の機能がプラットフォームに依存しないソリューションであるとは限りません。私はちょうど利用可能なオンライン参考資料があるかどうか疑問に思っていた。 –

+0

@ NathanOliver、すべての準拠の偽装は 'system(pause)'で取り除かれます。 – SergeyA

答えて

2

特定の質問に答える:はいstd::getline(std::cin, p)は、文字がstd::cinから読み取られるまで実行を一時停止します。これは、プロンプトが表示される前にそのような文字がないことを前提としています。

+0

質問は 'getline'の機能に基づいていませんでした。プラットフォームに依存しない操作であるかどうかではなく、 –

+1

@ specter-d、私はまさにそれに答えました、そうではありませんか? – SergeyA

+0

直接ではありません。私はWindowsでコンパイルするかどうかを尋ねました。 –

1

onethe Visual Studio 2015オンラインコンパイラを使用すると、実際にコンパイルされていることを確認できます。何かを入力することができないという問題がありますが、少なくともそれがコンパイルされているかどうかを確認し、将来の割り当てのために出力を見ることができます。

+0

これは素晴らしいものです。私はこのようなことを探したが、短くなった。 –