- Timestamp:
- Mar 10, 2006 7:39:19 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mesh/reader.cc
r307 r310 55 55 56 56 // 57 // parse object name 57 // parse dynamic length string 58 // first 4 bytes: length of string = len 59 // character array of length = len 58 60 // 59 61 void readString(const char* buf, string& str) … … 67 69 68 70 ptr += sizeof(int); 71 #ifdef DEBUG 72 printf("readString(const char*,string&): len=%d, ptr=%x\n", 73 len, (unsigned)ptr); 74 #endif 69 75 70 76 // read chars 71 77 72 char* cstr = new char[len]; ; 78 char* cstr = new char[len+1]; ; 79 cstr[len] = '\0'; 80 73 81 ByteOrder<char>::OrderCopyArray(ptr, cstr, len); 74 filterTrailingBlanks(cstr, len); 75 str = cstr; 82 83 #ifdef DEBUG 84 printf("readString: str=%s=, %d bytes\n", cstr, len); 85 #endif 86 87 str.assign((const char*)cstr); 76 88 77 89 delete [] cstr; 90 } 91 92 // 93 // read chars of length(len) from buffer (buf) 94 // return chars in string (null terminated) 95 // 96 void readString(const char* buf, string& str, int len) 97 { 98 char* ch = new char[len]; 99 100 ByteOrder<char>::OrderCopyArray(buf, ch, len); 101 filterTrailingBlanks(ch, len); 102 103 str = ch; 104 105 delete [] ch; 78 106 } 79 107 … … 192 220 ByteOrder<int>::OrderCopyArray(&(data[0]), iptr, npts); 193 221 } 222
Note: See TracChangeset
for help on using the changeset viewer.