)デスクトップでFILEを作成および操作するにはどのように、またどのようなライブラリが必要ですか? C#またはC++ではなく、Cのみを使用します。 私はCodeblocksを使用しています。私はallegroを使用しています。つまり、windows.h libを使用できないということです。プログラムはウィンドウで作業する必要があります。デスクトップでファイルを作成する方法(
答えて
あなたがWindows上にいるとすれば、CreateFile
とそれに関連する機能を見たいと思うでしょう。
次のようにファイルのライフサイクルは次のとおりです。あなたはそれを作成(または、それが存在する場合は、それを開く)CreateFile
を使用して、そしてそれが作成されたら/開け、あなたがたファイルは、それを操作するを扱う使用することができますすることができますReadFile
,WriteFile
、潜在的にDeleteFile
である。作業が完了したら、CloseHandle
でハンドルを閉じる必要があります。
1あなたがUnixやUnixライクなシステムを使用している場合、あなたのコード内で
system("touch ~/Desktop/FILE");
を呼び出すことができ、あなたは#include <stdlib.h>
する必要があります。
これは、「touch〜/ Desktop/FILE」というコマンドを呼び出します。この後にファイルを処理(読み書き)したい場合は、fopen
に正しいモードで呼び出す必要があります。しかし、2番目の方法は、ファイルに何かを書いておくほうがはるかに優れています。
2また、UnixやUnixライクなオペレーティングシステムで
を使用することができます。Windowsの場合 FILE *file = fopen("~/Desktop/FILE", "w+")
: FILE *file = fopen("C:\\Users\\YOUR_USER_NAME\\Desktop\\FILE", "w+")
(*デフォルトのユーザーフォルダの場所を使用していることを前提とします。)
これでファイルが作成され、その後にファイルを読み書きすることができます。正しいモードを使用してください。 Hereはfopen
とモードのリファレンスです。覚えているのは#include <stdlib.h>
です。
Windows Vista以降では、SHGetKnownFolderPath
を使用して、デスクトップのパスを確認します。 Unicode関数を使用してファイルパスを取得する必要があります。_wfopen_s
を使用してください。ファイルにANSIを記述できますが、UTF16を記述するか、テキストをUTF8に変換することをお勧めします。 WindowsのXPでは
#include <stdio.h>
#include <Windows.h>
#include <Shlobj.h>
int main()
{
wchar_t *desktop;
if(S_OK == SHGetKnownFolderPath(&FOLDERID_Desktop, 0, NULL, &desktop))
{
wprintf(L"Desktop path: %s\n", desktop);
wchar_t filename[MAX_PATH];
swprintf_s(filename, MAX_PATH, L"%s\\%s", desktop, L"file.txt");
wprintf(L"Filename path: %s\n", filename);
FILE *fp;
_wfopen_s(&fp, filename, L"w");
if(fp)
{
fprintf(fp, "Hello world\n");
fclose(fp);
}
else
{
wprintf(L"can't create file\n");
}
CoTaskMemFree(desktop);
}
return 0;
}
は、Windows API( `のCreateFileを()`)を使用したかった...依存することPOSIXっぽいAPI( `_openをSHGetSpecialFolderPath
(非推奨)
#include <stdio.h>
#include <Windows.h>
#include <Shlobj.h>
int main()
{
wchar_t desktop[MAX_PATH];
if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_DESKTOP | CSIDL_FLAG_CREATE, NULL, 0, desktop)))
{
wprintf(L"desktop: %s\n", desktop);
wchar_t path[MAX_PATH];
swprintf(path, L"%s\\%s", desktop, L"filename.txt");
HANDLE handle = CreateFileW(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(handle != INVALID_HANDLE_VALUE)
{
DWORD temp;
const char *buf = "hello world";
WriteFile(handle, buf, strlen(buf), &temp, NULL);
CloseHandle(handle);
}
else
{
printf("can't create file\n");
}
}
return 0;
}
あなたのプログラムをコンパイルすると、FOLDERID_Desktop undeclareteが作成されます。 –
@DavidAmatoMantegari MinGWターゲットでは、上記の 'Windows.h'または' Shlobj.h 'のいずれかに自動的に含まれる 'knownfolders.h'ヘッダファイル内にあります。'SHGetKnownFolderPath()'が動作するためには、他のインクルードの前に '#include
- 1. Windowsのデスクトップにファイルショートカット(* .lnkファイル)を作成する方法は?
- 2. デスクトップJavaアプリケーションでHttpServletRequestオブジェクトを作成する方法
- 3. Java - デスクトップ1とデスクトップ2のクリックを生成する方法は?
- 4. ExtJS 4 MVCデスクトップ - プログラムでモジュールを作成/開く方法
- 5. デスクトップから実行できるVisual Studio 2015で.exeを作成する方法
- 6. neo4jデスクトップでMac OS Xで作成したデータベースをダンプする方法は?
- 7. ファイルを作成してtmpファイル名を作成する方法
- 8. 特定のminecraftバージョンのデスクトップでgithubブランチを作成する方法
- 9. デスクトップにショートカットを作成するC#
- 10. Hololens - デスクトップにアプリケーションを作成する
- 11. デスクトップとモバイルで動作するウェブアプリを作成する
- 12. githubデスクトップでファイルを自動的に同期する方法は?
- 13. .plistファイルを作成する方法
- 14. Linux:ファイルを作成する方法は?
- 15. rebar.configファイルを作成する方法Erlang
- 16. ec2でubuntuデスクトップをセットアップする方法
- 17. Webアプリケーションからデスクトップ共有Web会議を作成する方法は?
- 18. Windows 10で作業フォルダにファイルを作成する方法UWP
- 19. cの任意のユーザー(任意のコンピュータ)デスクトップのファイルを作成する方法は?
- 20. ファイルの作成後にデスクトップにドラッグドロップしますか? (C#)
- 21. SWCファイルの作成方法
- 22. .exeファイルの作成方法
- 23. printerSettingsファイルの作成方法
- 24. Node.js:XMLファイルの作成方法
- 25. '.sql'ファイルの作成方法
- 26. Ext2 - ファイルの作成方法
- 27. intファイルの作成方法
- 28. ファイルapplicationhost.configの作成方法
- 29. デスクトップからフォームにファイルをドラッグアンドドロップする方法
- 30. Delphi 6:作成したファイルを変更する方法(ファイル作成日時)
を使用() 'または' _sopen_s() ')、またはISO標準のC(' fopen() ')ですか?もちろん、GLibのようなサードパーティのライブラリもありますが、コンパイラがデフォルトで見つけられる場所にインストールされていない可能性もあります。 –
私はfopenを使いたいのですが、私はなぜlibg windows.hを使うことができません、なぜ私はプログラムでアレグロを使用していますか? –
WindowsライブラリとヘッダーファイルなしでWindowsプログラムを作成することはできません。または、クロスプラットフォームのソリューションが必要です。アレグロについての質問をするには、 'アレグロ'タグを使用してください。 –