#include <stdio.h>
int main(void)
{
FILE *fp;
char f;
fp = fopen("C:\\test.txt","w");
fprintf(fp,"Hello,world");
fclose(fp);
return 0;
}
パス名にユーザー名が含まれてしまうので分かりません。特殊な記号等も用いるですか?教えてください!!
#include <stdio.h>
#include <shlobj.h>
int main(void) {
char folder[1000];
char filePath[1000];
FILE *fp;
SHGetFolderPath(NULL,CSIDL_DESKTOP,NULL,0,folder);
sprintf(filePath,"%s\\test.txt",folder);
fp = fopen(filePath,"w");
if(fp==NULL)return 1;
fprintf(fp,"Hello,world");
fclose(fp);
return 0;
}
の「Desktop」を「デスクトップ」とカタカナにすると上手くいきました。getenv("USERPROFILE")覚えておきます!sprintf(filename, "%s\\Desktop\\test.txt", userprofile);
Windows XPまでは見た目どおりの「デスクトップ」というフォルダですが、Windows Vista以降は実際は「Desktop」で、見た目だけが「デスクトップ」となるように仕様が変わりました。Jimmy さんが書きました:環境依存とはなんでしょうか?