1, c++ 字串的處
#define len_name 32
#define len_id 32
#define len_address 256
#define default_buflen 1024*40
class partnode
; partnode() : partnode(node_part) ;
partnode(char* buf, int & index);
virtual ~partnode();
}
轉化位元組碼
void partnode::tochararray(char buf, int & index)
c#解析
public partnode(byte data, ref int index)
如果不按實際長度傳,c#解析出來的東西沒錯,但長度「有問題」,其與實際的相同的字串長度不同。
index += stringlength.len_id;
// fbx_address = system.text.encoding.default.getstring (data, index, stringlength.len_address);
//fbx_address = system.text.encoding.default.getchars (data, index, stringlength.len_address);
//fbx_address = convert.tostring();
(fbx_address);
(fbx_address.length);
//string strs = "file://d:/cpicode/u3dprefabs/";
//char strsing = "file://d:/cpicode/u3dprefabs/";
(strs.length);
/ (strsing.length);
fbx_address.length = 143;
strs.length = 29;
用print時兩者的內容是一樣的。
但我們預期兩者的長度應該相同。
這兒只是為了說明問題的所在,可以寫names的字串來測試。c++上面的轉換以name為例。c#的解析以fbx_address為例。
所以應按實際長度來轉換位元組碼,這時會發現在c#中解析出現的東西因為沒有空間放『\0』而有問題,所以應該strlen(name)+1.
這時會發現在c#中多了一位,多出來的一位就是最後的'\0'。
如果要做兩字串的相加,需要把最後的'\0'刪除。
fbx = analyscene.scene.fbx_address;
names = analyscene.scene.parts[0].name;
char fbx_char_arry = fbx.tochararray();
char fbx_char = ;
fbx_string = fbx.trimend (fbx_char);
char fbx_char_ = fbx_string.tochararray();
names_string = names.trimend (fbx_char);//這個不要也可以連線成功
//// string a = "hello";
// int alen = a.length;
// string b = "world";
// int blen = b.length;
// string c = a + b;
// string d = string.concat (a+b);
//path = string.concat (fbx, names);
paths = fbx_string + names_string;
2 c#字串思考
把字串轉化為字元陣列時,沒有 '\0',其長度為4.
C 兩個字串相加
題意 given two binary strings,return their sum also a binary string for example,a 11 b 1 return 100 思路 思路 對於兩個string a,b從後往前取值,若取值為空則賦值為0.設定進製符號flag 若a ...
連線兩個字串
include include void main char lianjie char a 30 char b 30 原型 extern char strcat char dest,char src 用法 include 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 ...
交換兩個字串
交換兩個字串,原來的字串分別為 學生 和 好 字串輸出顯示為 學生好 交換後輸出顯示為 好學生 include using namespace std int main char c1 5 學生 char c2 3 好 char m,n,t m c1 n c2 cout 交換前 m n n t co...