请教 用 汉字 替换 数字 ， 写好 的 程序 不 知道 哪里 出 了 问题 ， 求 指点
# include " stdafx . h " # include < stdio . h > # include < std lib . 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 ) ; } fw printf ( 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 ; } }
