IronPython.Modules.MemoryHolder.ReadAnsiString C# (CSharp) Method

ReadAnsiString() static private method

static private ReadAnsiString ( IntPtr addr, int offset ) : string
addr System.IntPtr
offset int
return string
        internal static string ReadAnsiString(IntPtr addr, int offset) {
            // instead of Marshal.PtrToStringAnsi we do this because
            // ptrToStringAnsi gives special treatment to values >= 128.
            StringBuilder res = new StringBuilder();
            byte b;
            while((b = Marshal.ReadByte(addr, offset++)) != 0) {
                res.Append((char)b);
            }
            return res.ToString();
        }

Same methods

MemoryHolder::ReadAnsiString ( IntPtr addr, int offset, int length ) : string
MemoryHolder::ReadAnsiString ( int offset ) : string
MemoryHolder::ReadAnsiString ( int offset, int length ) : string

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Helper function for translating from memset to NT's FillMemory API.
        /// </summary>
        private static IntPtr StringAt(IntPtr src, int len)
        {
            string res;

            if (len == -1)
            {
                res = MemoryHolder.ReadAnsiString(src, 0);
            }
            else
            {
                res = MemoryHolder.ReadAnsiString(src, 0, len);
            }

            return(GCHandle.ToIntPtr(GCHandle.Alloc(res)));
        }
All Usage Examples Of IronPython.Modules.MemoryHolder::ReadAnsiString