Filestream(【nba买球】读写)

作者:计算机教程
namespace 读写文件
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 读取
            FileStream fsRead = new FileStream(@"C:UsersAdministratorDesktop毕毕.txt", FileMode.OpenOrCreate, FileAccess.Read);
            //定义字节数组,每次读取多少
            byte[] buffer = new byte[1024 * 1024 * 5];
            int r = fsRead.Read(buffer, 0, buffer.Length);//返回一共读到的有效字节数
            // MessageBox.Show(r.ToString());
            //将字节数组中每一个元素按照指定的编码格式解码成字节串
            string s = Encoding.UTF8.GetString(buffer, 0, r);

            //关闭流
            fsRead.Close();

            //释放流所占用的资源
            //实际上 还是读了5兆  只是显示了所读到的那些
            fsRead.Dispose();
            Console.WriteLine(s);
            Console.ReadLine();
            #endregion

            #region 写入
            //using (FileStream fswrite = new FileStream(@"C:UsersAdministratorDesktop毕毕.txt", FileMode.OpenOrCreate, FileAccess.Write))
            //{
            //    //覆盖,覆盖所需占用的字节量
            //    string str = "yes";
            //    byte[] buffer = Encoding.UTF8.GetBytes(str);
            //    fswrite.Write(buffer, 0, buffer.Length);
            //}
            #endregion
        }
    }
}

HENHMETAFILE=System.IntPtr  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

FLOAT=System.Float  

INT32=System.Int32  

PCTSTR=System.String  

LPLONG=System.Int32[]  

SC_HANDLE=System.IntPtr  

 LPBOOL=System.Int16[]  

UCHAR=System.Byte  

PFLOAT=System.Float[]  

HSZ=System.IntPtr  

PTCHAR=System.Char[]  

HKEY=System.IntPtr  

HWND=System.IntPtr  

BOOL=System.Int32  

HDWP=System.IntPtr  

PTSTR=System.String  

PUINT=System.UInt32[]

INT=System.Int32  

HINSTANCE=System.IntPtr  

CHAR=System.Int16  

LPBYTE=System.UInt16[]  

WORD=System.UInt16  

SSIZE_=System.UInt32  

LPCOLORREF=System.UInt32[]  

C             C#

WORD              ushort
DWORD             uint
UCHAR             int/byte   大部分情况都可以使用int代替,而如果需要严格对齐的话则应该用bytebyte
UCHAR*            string/IntPtr
unsigned char*    [MarshalAs(UnmanagedType.LPArray)]byte[]/?(Intptr)
char*             string/StringBuilder
LPCTSTR           string
LPTSTR            [MarshalAs(UnmanagedType.LPTStr)] string
long              int
ulong             uint
Handle            IntPtr
HWND              IntPtr
void*             IntPtr
int               int
int*              ref int
*int              IntPtr
unsigned int      uint
COLORREF          uint

 

附:举一个声明API的例子  

[ DllImport( "Kernel32.dll" )]

 public static extern System.UInt32 VirtualAllocEx(

 System.IntPtr hProcess,  

System.UInt32 lpAddress,  

System.UInt32 dwSize,  

System.UInt32 flAllocationType,  

System.UInt32 flProtect

 );

 

转:http://www.cnblogs.com/ausoldier/archive/2007/12/07/986141.html

 

 

Wtypes.h 中的非托管类型 非托管 C 语言类型 托管类名 说明

HANDLE

void*

System.IntPtr

在 32 位 Windows 操作系统上为 32 位,在 64 位 Windows 操作系统上为 64 位。

BYTE

unsigned char

System.Byte

8 位

SHORT

short

System.Int16

16 位

WORD

unsigned short

System.UInt16

16 位

INT

int

System.Int32

32 位

UINT

unsigned int

System.UInt32

32 位

LONG

long

System.Int32

32 位

BOOL

long

System.Int32

32 位

DWORD

unsigned long

System.UInt32

32 位

ULONG

unsigned long

System.UInt32

32 位

CHAR

char

System.Char

用 ANSI 修饰。

LPSTR

char*

System.String 或 System.Text.StringBuilder

用 ANSI 修饰。

LPCSTR

Const char*

System.String 或 System.Text.StringBuilder

用 ANSI 修饰。

LPWSTR

wchar_t*

System.String 或 System.Text.StringBuilder

用 Unicode 修饰。

LPCWSTR

Const wchar_t*

System.String 或 System.Text.StringBuilder

用 Unicode 修饰。

FLOAT

Float

System.Single

32 位

DOUBLE

Double

System.Double

64 位

PUCHAR=System.Char[]  

HCONVLIST=System.IntPtr  

HMONITOR=System.IntPtr  

PHANDLE=System.UInt32  

SC_LOCK=System.IntPtr  

PWCHAR=System.Char[]  

HFILE=System.IntPtr  

HANDLE=System.IntPtr  

ULONGLONG=System.UInt64  

HBRUSH=System.IntPtr  

LPCSTR=System.String  

PINT=System.Int32[]nba买球,  

HIMAGELIST=System.IntPtr  

TCHAR=System.Char  

SHORT=System.Int16  

HMODULE=System.IntPtr  

LPTSTR=System.String  

HCURSOR=System.IntPtr  

PUSHORT=System.UInt16[]  

INT64=System.Int64  

PSHORT=System.Int16[]  

HCONV=System.IntPtr  

HHOOK=System.IntPtr  

UINT64=System.UInt64  

 LPCWSTR=System.String  

PWSTR=System.String  

HICON=System.IntPtr  

PLONG=System.Int32[]  

UINT=System.UInt32  

LRESULT=System.IntPtr  

DWORD64=System.UInt64  

ULONG64=System.UInt64  

PBYTE=System.UInt16[]  

HRSRC=System.IntPtr  

 HPEN=System.IntPtr  

本文由nba买球发布,转载请注明来源

关键词: