作成するプログラムは、UNIX/Linuxシステムで現在ログインしているユーザー名を取得し、ウェルカムメッセージを表示します。コードブローが行っていることは、これだけを実行しています:C++でストリーム全体を出力できません
Welcome [email protected]:~/Dev/cpp$
残りのストリームは出力されません。残りの部分を出力できるようにするためには、私は何をする必要がありますか?この代わりに他の関数を使うべきですか?私はgetenv()を使うべきかどうか分からない。
正規表現などを使用してユーザー名だけを取得することもできますが、残りのストリームは出力されませんが、問題は解決しないものとします。
#include <iostream>
#include <stdlib.h>
int main() {
std::cout << "Welcome " << getenv("USERNAME") << " to APP_NAME. To get available commands use --help" << std::endl;
return 0;
}
「残りのストリームは出力されません」とはどういう意味ですか?それだけでうまくいく[ここ](http://coliru.stacked-crooked.com/a/68987d40b6e117bd)。 –
この出力は混乱します。 'USERNAME'は標準環境変数ではありません。 'USER'は現在のユーザの名前を保持するはずですが、これはオプションです。私は 'getenv'があなたに' nullptr'を与えて、あなたが未定義の振る舞いをしているのではないかと疑っています。 'return'値を確認してください。 – 5gon12eder
その 'USERNAME'環境変数は何を含んでいますか? – mpromonet