我写C程序。我想我的程序写一个文件特殊字符如“ÅÄÖ”?我需要把用户的答案放到.txt文件中。当我使用scanf
时,它不起作用:文件“test.txt”包含错误的字符,例如“™Ž”“††††††”,它们被认为是“ÖÄÅöäååå”。我使用Windows10在计算机上工作。
#include <stdio.h>
#include <locale.h>
main() {
char s [30];
setlocale(LC_ALL, "sv_SE.UTF-8");
FILE *fp;
fp = fopen("test.txt", "w+");
fprintf(fp, "Test: åäö ÅÄÖ\n"); //works fine
printf("write ÄÅÖ: ");
scanf("%s",s); //doesn't work if I pass special chars like ÖÄÅ
fprintf(fp, s);
fclose(fp);
return 0;
}