2014-10-30 48 views
0

我編寫了一個程序,我希望它能夠將文件寫入桌面。我想出瞭如何寫入我的,但我希望它能夠去任何人的桌面(窗口)。如何將文件寫入C上的非特定用戶桌面?

有沒有辦法讓路徑名更加動態,以便可以在任何人的桌面上工作?

這是一個示例:

void add(void) 
{ 
    FILE *fp; 
    fp = fopen("C:\\Users\\Jones\\Desktop\\test.txt", "w+"); 
    float num1; 
    float num2; 
    float sum; 
    printf("Enter first number: "); 
    num1 = getNum(); 
    printf("Enter second number: "); 
    num2 = getNum(); 
    sum = num1 + num2; 
    printf("%.1f + %.1f = %.1f\n", num1, num2, sum); 
    fprintf(fp, "Num1: %.1f\nNum2: %.1f\nSum: %.1f ", num1, num2, sum); 
    fclose(fp); 
    while(getchar() != '\n') 
    { 
       continue; 
    } 

} 
+0

如果答案是'sprintf',那麼它不是那個windows API的東西。也許這是別的東西的重複。 – 2014-11-18 18:24:29

回答

-1

是。使用sprintf。這就像fprintf,但對於字符串。

char fname[256]; 
sprintf(fname, "C:\\Users\\%s\\Desktop\\test.txt", "Jones"); 
fopen(fname, ... 
+0

這是錯的。在此位置可能找不到桌面。使用Windows API找到適當的路徑,而不是硬編碼假設。 – 2018-03-04 17:36:42

相關問題