比如
"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)
}
请采纳。
感觉这些代码的定义都是多余的使用“控件数组”比如Text1控件:在属性名称设置为CText,index设置为0,即为CText(0)控件。复制该控件后黏贴几次就能自动产生CText(1),CText(2),CText(3),.....CText(7)控件,其他控件也是一样方法设置。
MSComm1控件直接在属性名称改为DMsc即可于代码里使用DMsc写代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)