C语言的问题,我编写LAB WINDOWS CVI遇到了问题求助!
inti;shortshoot[255];intii,FileHandle;chararr1[600];for(i=0;i<255;i++){shoot[i]=Chann...
int i;
short shoot[255];
int ii,FileHandle;
char arr1[600];
for (i = 0; i < 255; i ++)
{
shoot[i]=ChannelShort1[i] ;
}
shoot[254]='\0';
FileHandle = OpenFile ("shuju.txt", VAL_READ_WRITE, VAL_APPEND, VAL_ASCII); // 创建一个新文件
strcpy((char*)arr1,(char*)shoot);
ii=StringLength(arr1);
WriteFile (FileHandle, arr1, ii);
CloseFile (FileHandle); // 关闭文件
这样写入TXT文本的数据就是乱码,以下这样就是正确的,有啥子办法改进不?
int i;
short shoot[255];
int ii,FileHandle;
char arr1[600];
FileHandle = OpenFile ("shuju.txt", VAL_READ_WRITE, VAL_APPEND, VAL_ASCII); // 创建一个新文件
strcpy((char*)arr1,“1234”);
ii=StringLength(arr1);
WriteFile (FileHandle, arr1, ii);
CloseFile (FileHandle); // 关闭文件 展开
short shoot[255];
int ii,FileHandle;
char arr1[600];
for (i = 0; i < 255; i ++)
{
shoot[i]=ChannelShort1[i] ;
}
shoot[254]='\0';
FileHandle = OpenFile ("shuju.txt", VAL_READ_WRITE, VAL_APPEND, VAL_ASCII); // 创建一个新文件
strcpy((char*)arr1,(char*)shoot);
ii=StringLength(arr1);
WriteFile (FileHandle, arr1, ii);
CloseFile (FileHandle); // 关闭文件
这样写入TXT文本的数据就是乱码,以下这样就是正确的,有啥子办法改进不?
int i;
short shoot[255];
int ii,FileHandle;
char arr1[600];
FileHandle = OpenFile ("shuju.txt", VAL_READ_WRITE, VAL_APPEND, VAL_ASCII); // 创建一个新文件
strcpy((char*)arr1,“1234”);
ii=StringLength(arr1);
WriteFile (FileHandle, arr1, ii);
CloseFile (FileHandle); // 关闭文件 展开
1个回答
展开全部
你该把 shoot数组 每个元素 转成 字符串 后 strcat拼接到字符 数组arr.......
追问
怎么转化呢 ?
追答
shoot数组是 两个字节的short int 最大32767 你为什么 给他加\0? 要把它当字符串? 还是用零表示数据的 零前的哪个是最后一个数据?..
修改如下 shoot数组中式数据
int i;
short shoot[255] = {30105, 2495, 18042};//不知你懂ChannelShort1事啥,弄组数据测试
int ii, FileHandle;
char arr1[600] = "";//一个short数据转成字符串最多要五个字符 你这254个数据
//你这个数组是不是有点小...
FileHandle = OpenFile ("shuju.txt", VAL_READ_WRITE, VAL_APPEND, VAL_ASCII); // 创建一个新文
char buf[10];
i = 0;
while(shoot[i])
{
if(!i)
sprintf(buf, "%d\0", shoot[i]);//第一个前没有逗号
else
sprintf(buf, ",%d\0", shoot[i]); 后续数据前有个逗号和前一个数据隔开
strcat(arr1, buf);
i++;
}
ii=StringLength(arr1);
WriteFile (FileHandle, arr1, ii);
CloseFile (FileHandle); // 关闭文件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询