OSDN Git Service

chnlib:構造体のハッシュ値取得を実装。検索の高速化に利用する予定。文字列の連結・コピーも実装。合わせてlibtestも更新。
[chnosproject/CHNOSProject.git] / CHNOSProject / libtest / libtest / main.c
index 49e98dc..95079f4 100644 (file)
 
 int main(int argc, const char * argv[])
 {
-    //CHNLIB_String *s, *t;
-    CHNLIB_UIPArray *separated;
-    char str[1024];
-    int i;
+    CHNLIB_String *str1, *str2, *str;
+    CHNLIB_UIPArray *array;
     
-    separated = CHNLIB_UIPArray_Initialize();
+    str = CHNLIB_String_Initialize("あいうえおかきs");
+    printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str), CHNLIB_String_GetReferencePointerOfCString(str));
     
-    for(i = 0; i < 32; i++){
-        snprintf(str, sizeof(str), "Number %d.", i);
-        CHNLIB_UIPArray_AppendLast(&separated, i, autorelease(CHNLIB_String_Initialize(str)));
-    }
-    
-    CHNLIB_Debug_PrintStructureData(separated, 0);
+    str1 = CHNLIB_String_Initialize("あい");
+    printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str1), CHNLIB_String_GetReferencePointerOfCString(str1));
+    str2 = CHNLIB_String_Initialize("かき");
+    printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str2), CHNLIB_String_GetReferencePointerOfCString(str2));
+
+    str = CHNLIB_String_Concatenate(str1, str2);
+    printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str), CHNLIB_String_GetReferencePointerOfCString(str));
     
-    //CHNLIB_Release((void **)&separated);
-    release(separated);
+    str = CHNLIB_String_Concatenate(str, str);
+    printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str), CHNLIB_String_GetReferencePointerOfCString(str));
     
+    array = CHNLIB_UIPArray_Initialize();
+    CHNLIB_UIPArray_AppendLast(&array, 0, str);
+    printf("0x%X", CHNLIB_StructureHeader_GetHash(array));
     
-    CHNLIB_Debug_PrintStructureData(separated, 0);
+    CHNLIB_UIPArray_AppendLast(&array, 0, str);
+    printf("0x%X", CHNLIB_StructureHeader_GetHash(array));
     
     return 0;
 }