C++とC++プログラムの場所を使用してコンピュータ上にファイルを作成する方法はありますか?私はこのプログラムを複数のコンピュータで使用できるようにしたいが、各コンピュータにはそれぞれ異なるディレクトリがあります。たとえば、ユーザーディレクトリにあるtest.txtファイルを作成する場合は、プログラムファイルの場所に対応するファイルのパスを指定する方法があります。ユーザーの名前によって「ユーザー」が異なるためです。プログラムの場所に対応するファイルを作成する方法は?
答えて
限り、あなたは窓の上にあるとして、あなたがGetUserNameが、その後のCreateFileかのfstreamを使用してそこにファイルを作成し、その後の作業ディレクトリを変更するにはSetCurrentDirectory APIを使用するAPIを使用することができます
#include <iostream>
#include <windows.h>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ULONG len = 50;
LPSTR lpBuffer = (LPSTR)GlobalAlloc(GPTR, len);
GetUserName(lpBuffer, &len);
cout << lpBuffer << endl;
// don't forget to clean when you're done:
string str = "C:\\Users\\";
str += lpBuffer;
str += "\\test.txt";
cout << str << endl;
ofstream out(str.c_str());
if(out.fail())
perror("Opening failed");
out << "Hello " << lpBuffer;
out.close();
GlobalFree(lpBuffer);
GlobalFree(lpBuffer);
return 0;
}
このプログラムは現在のユーザ名を取得し、作成をそのフォルダ内にファイルを作成し、それに "Hello"というユーザ名を書き込みます。
ユーザーのプロファイルが常にC:\ Users \
この回答には複数の問題があります: '1'バッファに' GlobalAlloc'を使用すると、スタック割り当てが可能になります。 '2'ユーザ名にある特定のUnicode文字でコードが失敗することを絶対に確かめます。 '3'存在していてもいなくてもよいパスを構築します。 '4'' std :: basic_ios :: fail() 'を間違った方法で使用します。 '5' 'lpBuffer'に' GlobalFree'を2回呼び出します。 – IInspectable
- 1. 必要に応じてディレクトリを作成し、ある場所にファイルを作成するJavaの方法?
- 2. セルに対応するイメージリストを作成する方法は?
- 3. ルートユーザーが所有するフォルダにプログラムでファイルを作成する方法
- 4. ユーザー指定の場所にnlog.configファイルを作成する方法は?
- 5. NetBeansでファイルを作成する場所
- 6. プログラムで[ファイルの場所を開く]動作を実装する方法(C++ビルダー)
- 7. レールでビューに対応するモデルを作成する方法
- 8. jarファイルと同じ場所にログファイルを生成する方法
- 9. プログラムでカスタム場所にイメージを保存する方法は?
- 10. Yesodアプリケーションに応じてプログラムを作成する方法
- 11. unordered_map emplace - 場所にオブジェクトを作成する方法
- 12. 場所を探すFacebook検索リクエストを作成する方法
- 13. http応答にストリームするファイルを作成する方法
- 14. プログラムによってphp.iniファイルの場所を見つける方法は?
- 15. WebアプリケーションのMongoDBコレクションでインデックスを作成する方法/場所
- 16. リアルタイムの場所を作成する方法アンドロイドアプリ
- 17. 特定の場所にプログラムでフィールドバリデーターを配置する方法
- 18. インストーラの場所にファイルを作成する - Java
- 19. saveHTML出力の表示方法( "HTMLファイルの作成場所:index.html")?
- 20. sdkを使ってFacebookで場所を作成する方法
- 21. プログラムで作成されたフライアウトの所有者にアクセスする方法は?
- 22. 対応するsksファイルで新しいスウィフトシーンを作成する
- 23. Laravel 5でストアドプロシージャを作成する場所と方法
- 24. プログラムでKMZファイルを作成する方法は?
- 25. Xcodeインタフェースビルダーはファイルを作成しますか?その場合、ファイルの場所は
- 26. JavaFXでラベル幅に対応するためのGridPaneの作成方法は?
- 27. Cマクロに対応するLisp FLI関数を作成する方法
- 28. reduxの反応成分のデータを変更する場所は?
- 29. iOSのアイコンを作成する方法と場所はどこですか?
- 30. ポータブルアプリケーションの作成時にPID /ロックファイルを作成する場所
'GetModuleFileName'関数を使用します。 –
...シナリオによっては、ユーザーのDocumentsフォルダ(またはアプリケーションデータフォルダ)の場所を調べるほうがよいでしょう。[Known Folders](https://msdn.microsoft.com/en)を参照してください。 -us/library/windows/desktop/bb776911(v = vs.85).aspx)をMSDNにインストールします。 –