
比如 "a" 某些情况变成 L"a",前者是ansi字符串后者是unicode字符串。
这是由预编译器完成的。对于“变量”则无法实现,因为char*就是表示ansi字符串,wchar_t*才是表示unicode字符串。
如果你需要在运行时从ansi转换到unicode,使用 MultiByteToWideChar 函数。
如果你代码能够自适应这种变化,请参考ATL中 A2T 宏的用法
N没有定义int ii没有初始化
采用格式化读取fscanf(),下面是在你的程序基础上稍作修改
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define N 20
void main()
{
struct yh
{
char usename[N]
char password[N]
float money
}admin[100]
FILE *fp
int i=0
if((fp=fopen("sdatal.txt","r"))==NULL)
{
printf("不能打开文件\n")
exit(0)
}
while(!feof(fp))
{
fscanf(fp, "%s%s%f",admin[i].usename,admin[i].password,&admin[i].money)
i++
}
fclose(fp)
for(i=0i<2i++)
printf("%s\t%s\t%.0f\n",admin[i].usename,admin[i].password,admin[i].money)
fclose(fp)
}
请采纳。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)