C#中偏移量和长度超出数组的界限的问题
来源:互联网 发布:q币拦截软件 编辑:程序博客网 时间:2024/05/01 16:29
声明: 1.本文是在我这种情况下遇到的问题和一种解决放法,不一定能应用在所有场合。 2.欢迎拍砖。
...public static byte[] ToByteArray(string str) { System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); return encoding.GetBytes(str); }string mystr = "hello";byte[] src = new byte[count];//count > 5src = ToByteArray(mystr);file.Write(src,0,count);...
以上为示例代码段,当执行时,会提示偏移量和长度超出数组的界限。
下面是FileStream.Write()的函数声明:
void FileStream.Write(byte[] array,int offset,int count)
其中,offset为对数组array从零开始的偏移量。count为从offset位置开始要读到流中的字节个数。
(以上函数声明只是一个说明,跟本文问题相关度不大)
好了,当我调试的时候发现,数组src从src[5]开始就数据就不是0x00了,所以是ToByteArray函数的原因,将原本为0x00的数据全部清空了,具体原因我没有深究(假想一下,就像C语言里一样,给了一个’\0’结束标识符吗?),
所以会导致我想访问src[5]后面的字节出现数组越界的问题。
long FileStream.Seek(long offset, SeekOrigin origin);
这个偏移函数,帮我成功的解决了这个问题,覆盖为0x00。
想想还是C语言好,透明。
0 0
- C#中偏移量和长度超出数组的界限的问题
- 偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处
- 修正Firebird Net Provider 1.7“偏移和长度已超出数组界限”BUG(提供下载)
- 偏移量的问题
- 有关“索引超出了数组界限”的错误提示
- C# 中数组和字符串的长度
- 关于虚继承中成员偏移量的诡异问题
- 虚继承的偏移量问题
- 地址的偏移量
- 段界限是指的段内最大偏移值,第1个字节偏移为0,最后一个则偏移为长度-1了。
- 正则解决字符串超出长度的问题
- 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误
- 关于VC,GCC成员变量的内存对齐和偏移量的问题
- 结构体的偏移量
- 结构体的偏移量
- 关于偏移量的理解
- 结构体的偏移量
- UITableView偏移量的坑
- Android自定义类似ProgressDialog效果的Dialog
- iOS自动生成图片@1x,@2x ,@3x图片
- Codeforces Round #346 (Div. 2) C模拟
- iOS 去掉tableViewCell 点击效果 三个简单方法
- 大型网站之存储瓶颈(数据库的水平扩展)
- C#中偏移量和长度超出数组的界限的问题
- 免责声明
- 修改android默认锁屏方式
- caffe cudnn出现错误: declaration is incompatible with "const char *cudnnGetErrorString(cudnnStatus_t)"
- Spring Data Redis 学习(一)
- CCSv6.0以上版本实现软件仿真
- 职场35岁现象:各位小伙伴接近了吗?!
- PID连续控制算法的表达式以及C语言实现
- iOS conformsToProtocol