如何在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; } } 

是。 使用sprintf 。 这就像fprintf但对于字符串。

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