添加重要的命名空间:

using System.Runtime.InteropServices;

先建立结构相同(char长度相同)的Struct类型用于转换:

[StructLayout(LayoutKind.Sequential, Pack = 1)]public struct Employee{[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]public char[] EmployeeId;[MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]public char[] LastName;[MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]public char[] FirstName;//这里省略很多列}

数据文本类似下面, 如这三列固定长度(6,30,30):

10001 Nick                          Yang
10002 Nick2                         Yang
10003 Nick3                         Yang                          

代码获取并转换:

        /// <summary>/// Get data from interface file/// </summary>public void GetDataFromFile(){try{string path = ConfigurationManager.ConnectionStrings["DataPath"].ConnectionString;if (File.Exists(path)){string[] rows = File.ReadAllLines(path, Encoding.UTF8);foreach (string row in rows){byte[] bytes = Encoding.UTF8.GetBytes(row);//以下为重点代码int size = Marshal.SizeOf(typeof(Employee));IntPtr buffer = Marshal.AllocHGlobal(size);try{Marshal.Copy(bytes, 0, buffer, size);//此处已经完成转换Employee emp = (Employee)Marshal.PtrToStructure(buffer, typeof(Employee));//省略很多代码
                        }catch (Exception ex){throw new Exception("Error when Copying bytes from interface to Employee", ex);}finally{Marshal.FreeHGlobal(buffer);}}}else{throw new Exception(string.Format("Error. Can`t not find the interface file at '{0}'", path));}}catch (Exception ex){throw new Exception("Error when getting data from interface file.", ex);}}

转载于:https://www.cnblogs.com/xachary/p/3745063.html

使用Marshal.Copy把Txt行数据转为Struct类型值相关推荐

  1. sqlserver中将行数据转为Xml文件格式

    将sqlserver中的某张表中的行数据转为XML格式的文件的方法: 语法:select * from  表名   for xml path(xml文件中父节点的名称) 案例: //  在Movie数 ...

  2. Excel如何快速将多行数据转为一行

    今天跟大家分享一下Excel如何快速将多行数据转为一行 1.表格文件中含有多行数据,现在我们想要将这些数据转为一行显示 2.首先我们选中单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细 ...

  3. Excel如何把两列多行数据转为多列少行

    今天跟大家分享一下Excel如何把两列多行数据转为多列多行 1.如下图有两列数据,现在我们想要将这两列数据转为多列 2.首先我们选中要转换的数据单元格区域 3.然后点击下图选项(Excel工具箱,百度 ...

  4. Excel如何将一列多行数据转为多列多行显示

    ​ 如下图我们想要将A列这一列多行数据,转为四列多行显示. ​ 选中A列数据单元格全部区域 ​ 点击下图选项(Excel工具箱,百度即可了解详细的下载安装信息,本文这里就不做具体介绍) ​ 点击[合并 ...

  5. python读取txt中数据转为列表

    import numpy as np#直接读取 a=np.loadtxt("D:/Desktop/a.txt") print(type(a),a,np.shape(a))#自己编一 ...

  6. 将Excel每行数据存储到单独的txt文件中

    将Excel每行数据存储到单独的txt文件中 将Excel每行的第一格作为文件名,每行的剩余数据存放到该文件中. 实现Excel文件转换为txt文件. 以下是Python代码: import os i ...

  7. python提取txt数据到excel_python 读取txt中每行数据,并且保存到excel中的实例

    使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释. 代码简单,具体代码如下: # coding=utf-8 ''' main function:主要实现把txt中的每行数 ...

  8. python读取txt文件如何按数字分隔_python 读txt文件,按‘,’分割每行数据操作

    按行读取TXT文件 fname = './新建文件夹/yob2010.txt' //文件夹路径 with open(fname,'r+',encoding='utf-8') as f: for lin ...

  9. C++--读取txt文件中的多行数据

    前言 很久都没有写过C++了,但是最近交通信息工程有个实验,需要用到C++读取GPS数据,提取出经纬度,然后根据坐标绘制位置点.这个思路其实也不是很难,读取数据,提取需要的元素,数据处理,显示位置点. ...

最新文章

  1. python微控制器编程从零开始-Python微控制器编程从零开始 使用MicroPython
  2. Wince5.0自定义工具条
  3. 如何在OpenJDK中使用ECC
  4. docker项目部署 php_「Docker部署PHP+Vue项目」- 海风纷飞Blog
  5. python创建控件,用 IronPython 创建和调用用户控件.doc
  6. 电脑上怎么做pdf文件_怎么编辑pdf文件内容?什么工具可以编辑pdf?
  7. 移动组件到指定坐标_《我的世界》传送石碑组件 史蒂夫表示跑路的日子终于结束了...
  8. dbeaver 设置编码_DBeaver 一个神奇的数据库操作软件
  9. CSS知识点梳理(二)
  10. Django之Django debug toolbar调试工具
  11. 如何利用ping命令拥有最佳MTU?
  12. WEB三大攻击之—SQL注入攻击与防护
  13. 服务于win10的telnet的简易聊天服务器(单进程)
  14. smartdns使用指南_OpenWrt之SmartDNS 使用教程(PW版)
  15. 服务器装无线上网卡,dlink无线上网卡怎么安装和设置
  16. 高德地图导航,不显示地图只有语音
  17. 关于集成网卡怎么设置pxe网卡启动
  18. 正则表达式详解(贪婪与懒惰、前瞻与后顾、后向引用等)
  19. java bidi_java11教程--类Bidi用法
  20. PHP_微信公众号开发(1)

热门文章

  1. 批量替换 MySQL 指定字段中的字符串
  2. CSDN-markdown编辑器使用说明
  3. c# 编程学习(二)
  4. python模块学习之glob模块
  5. Java练习 SDUT-1586_计算组合数
  6. MacOS下MySQL配置
  7. IBM DS300 安装
  8. kafka tool 查看指定group下topic的堆积数量_ELK架构下利用Kafka Group实现Logstash的高可用...
  9. mysql正在运行安全文件怎么办_MySQL服务器运行的安全文件化选项,所以它不能执行该语句什么情? 爱问知识人...
  10. Flask werkzeug 源码解析