<s>请教用汉字替换数字，写好的程序不知道哪里出了问题，求指点</s>
<s>#include "stdafx.h" #include<stdio.h> #include<stdlib.h> #include<cstring> #include"locale"//这个头文件里有setlocale函数 void Convert(wchar_t *a); int main() { setlocale(LC_ALL, "chs");//设置语言为中文，否则文件中存在的中文会变成乱码 FILE *fp; wchar_t str[30]; char *p; if ((fp = fopen("D:\\file_test.txt", "r")) == NULL){//以只读打开 printf("打开文件失败!\n"); exit(0); } fgetws(str, 30, fp); for (int i = 0; i<30; i++){ if (str[i] >= 48 && str[i] <= 57) { Convert(&str[i]); } } fclose(fp); if ((fp = fopen("D:\\file_test.txt", "w")) == NULL){//以只写打开 printf("打开文件失败!\n"); exit(0); } fwprintf(fp, str); fclose(fp); return 0; } void Convert(wchar_t *a) { switch (*a){ case L'1': *a = L'一'; break; case L'2': *a = L'二'; break; case L'3': *a = L'三'; break; case L'4': *a = L'四'; break; case L'5': *a = L'五'; break; case L'6': *a = L'六'; break; case L'7': *a = L'七'; break; case L'8': *a = L'八'; break; case L'9': *a = L'九'; break; } }</s>
