同样的代码,上面可以运行,下面就不行...大大们帮小弟来看一下啊...

问题描述

做了一个东西.想从16进制的dat参数表中读取数据然后转成10进制状态按照各种字节数来放进txtBOX中.但参数版本.生效时间.车站标识码都能正常读取.反倒是下一个读取2个字节的站点位置却度不出来了...代码都是一样复制的啊...那位大大能救救小弟啊...谢谢啊!!!==========================================================usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespacehhjt{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){stringfile="1040.dat";if(!File.Exists(file)){Console.WriteLine("文件不存在");}else{FileStreamfilestream=newFileStream(file,FileMode.Open,FileAccess.Read);BinaryReaderobjBinaryReader=newBinaryReader(filestream);stringstr1="";stringstr2="";stringstr3="";stringstr4="";//stringstr5="";//stringstr6="";//stringstr7="";//stringstr8="";//stringstr9="";//stringstr10="";//stringstr11="";//stringstr12="";//stringstr13="";//stringstr14="";//stringstr15="";//stringstr16="";//stringstr17="";try{{//参数版本byte[]bt1=objBinaryReader.ReadBytes(4);for(inti=0;i<bt1.Length;i++){str1+=bt1[i].ToString("x");}this.txtBanben.Text=Convert.ToInt32(str1).ToString();//生效时间byte[]bt2=objBinaryReader.ReadBytes(4);for(inti=0;i<bt2.Length;i++){str2+=bt2[i].ToString("x");}intseconds=int.Parse(str2,System.Globalization.NumberStyles.HexNumber);DateTimetimeBase=newDateTime(1970,01,01);DateTimenTime=timeBase.AddSeconds(seconds);this.txtTime.Text=nTime.ToString();//车站标识码byte[]bt3=objBinaryReader.ReadBytes(4);for(inti=0;i<bt1.Length;i++){str3+=bt3[i].ToString("x");}this.txtChezhanbiaoshima.Text=Convert.ToInt32(str3).ToString();//站点位置byte[]bt4=objBinaryReader.ReadBytes(4);for(inti=0;i<bt4.Length;i++){str4+=bt4[i].ToString("x");}this.txtWeizhi.Text=Convert.ToInt32(str4).ToString();}}catch(EndOfStreamException){Console.WriteLine("以到文件末尾");}}}}}=====================================我传的附件中参数表已经放在bin目录下了...直接就能运行的...但就是最后一个不能读取...大虾们帮帮我吧...

解决方案

解决方案二:
為甚麼是byte[]bt4=objBinaryReader.ReadBytes(4);不是byte[]bt4=objBinaryReader.ReadBytes(2);你自己說的兩個字節阿,別的都是4個字節阿
解决方案三:
这一段应该是我试验4个字节是否可行的时候帖子...应该是1楼大大说的byte[]bt4=objBinaryReader.ReadBytes(2);现在无法修改了...但就是上面那段代码...另外谢谢1楼大大...
解决方案四:
这一段应该是我试验4个字节是否可行的时候帖子...应该是1楼大大说的byte[]bt4=objBinaryReader.ReadBytes(2);现在无法修改了...1楼大大说的对.应该是2而不是4...byte[]bt4=objBinaryReader.ReadBytes(2);这段代码...

时间: 2024-07-30 10:13:24

同样的代码,上面可以运行,下面就不行...大大们帮小弟来看一下啊...的相关文章

让Python代码更快运行的5种方法

  这篇文章主要介绍了让Python代码更快运行的5种方法,本文分别介绍了PyPy.Pyston.Nuitka.Cython.Numba等开源软件,可以提升Python的运行效率,需要的朋友可以参考下 不论什么语言,我们都需要注意性能优化问题,提高执行效率.选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮.尽管Python从未如C和Java一般快速,但是不少Python项目都处于开发语言领先位置. Python很简单易用,但大多

socket-unix网络编程环境怎么配置?我买了套接字联网api和tcp/ip详解,但是书上的代码都不能运行.

问题描述 unix网络编程环境怎么配置?我买了套接字联网api和tcp/ip详解,但是书上的代码都不能运行. 就下面这个代码,运行提示没有unp.h,找了个unp.h,但是还是提示什么各种数据类型重复定义.我到现在觉得是不是这本书写错了. #include "unp.h" int main(int argc, char **argv) { int sockfd, n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr; if

为什么这段代码的js运行不了

问题描述 为什么这段代码的js运行不了 <!DOCTYPE html> MyHtml.html <meta http-equiv=""keywords"" content=""keyword1keyword2keyword3""><meta http-equiv=""description"" content=""this is my p

写了个读文件的代码,但运行之后读出来的就乱了

问题描述 写了个读文件的代码,但运行之后读出来的就乱了 这是代码void Read()//从文件中读取{ int ij; FILE *fp; fp=fopen(""busline.txt""r+""); if(fp==NULL) { printf(""不能打开此文件!""); exit(0); } for(i=0;i<m;i++) { fscanf(fp%d""&bl[i]

c语言-关于C语言链表的一些问题,代码怎么都运行不成功跪求大神指点

问题描述 关于C语言链表的一些问题,代码怎么都运行不成功跪求大神指点 下面代码主要实现链表的创建,插入,删除,并且能将两个年龄递增链表进行合并成递减链表 然而在插入和删除操作中gets函数无法起作用,strcmp函数也出现位置冲突报错..功力不足实在解决不了..跪求大神解答..(感觉自己写的东西除了上面两个错误应该还有,但是因为位置冲突问题就只能编译到那个地方无法进行下去..我肉眼实在找不出来.. #include<stdio.h> #include<stdlib.h> #incl

c#-这两段代码,只能运行其中一段,想用if语句来判断,但不知道条件表达式该怎么写

问题描述 这两段代码,只能运行其中一段,想用if语句来判断,但不知道条件表达式该怎么写 foreach (Uers item in userGroup) //第一段 { Console.WriteLine("请输入账号"); string idC1 = Console.ReadLine(); Console.WriteLine("请输入密码"); string pwd1 = Console.ReadLine(); if (idC1.Equals(item.idC)

c-用宏实现将代码放到后台运行

问题描述 用宏实现将代码放到后台运行 PUT_FUNCTION_TO_BACKGROUND(...) 这种功能要怎么实现呢, 是不是需要守护程序呢?

java代码的在线运行,对其内存限制,时间检测等问题[ga]

问题描述 java代码的在线运行,对其内存限制,时间检测等问题[ga] 基本需求类似[java在线代码编译运行],多个客户都可以各自通过web浏览器输入java代码, 然后点击执行java代码,输出结果. 我是通过(Class thisClass = Class.forName(className,true,ClassLoader.getSystemClassLoader()); 来实现的) 目前比较担心某个用户输入的java代码可能是个死循环(如:while(true){xxxx}), 或者高

操作-eclipse不编译修改后的代码,仍运行上一次的结果

问题描述 eclipse不编译修改后的代码,仍运行上一次的结果 好像没进行过什么特殊的操作(运行过一次Tomcat),突然就这样了,修改完代码后,运行,以前都提示是否保存修改,现在根本不提示直接运行上一次的结果,请教各位大神该怎么解决(Android程序和Java都这样,重启,clean都不管用) 解决方案 用debug run试试 别用run 解决方案二: 你试试把eclipse的自动构建的选项给勾上 解决方案三: 居然clean都不好使?选择clean all也不好使么? 还有一个问题可能是