---
name: "detect_obj_init"
section: "3"
platform: "linux"
package: "libchardet"
version: "1.0.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/detect_obj_init"
---

# detect\_obj\_init(3)

initialize DetectObject structure

## NAME

detect\_obj\_init - initialize DetectObject structure

## SNOPSIS

*#include \<chardet.h\>*\
 *DetectObj chardet\_obj\_init (void);*

## DESCRIPTION

initialize **DetectObj** structure that is stored chardet informations.

## RETURN VALUE

Returns **DetectObject** structure. The return value is must freed by **chardet\_obj\_free** api.

```
	typedef struct DetectObject {
		char * encoding;
		float confidence;
		short bom;
	} DetectObj;
```

## EXAMPLE

```
#include <chardet.h>
int main (void) {
	DetectObj *obj;
	if ( (obj = detect_obj_init ()) == NULL ) {
		fprintf (stderr, "Memory Allocation failed\n");
		return CHARDET_MEM_ALLOCATED_FAIL;
	}
	switch (detect ("¾È³çÇÏ¼¼¿ä", &obj)) {
		case CHARDET_OUT_OF_MEMORY :
			fprintf (stderr, "On handle processing, occured out of memory\n");
			detect_obj_free (&obj);
			return CHARDET_OUT_OF_MEMORY;
		case CHARDET_NULL_OBJECT :
			fprintf (stderr,
					"2st argument of chardet() is must memory allocation "
					"with detect_obj_init API\n");
			return CHARDET_NULL_OBJECT;
	}
	# check support obj->bom with CHARDET_BOM_CHECK constant
	printf ("encoding: %s, confidence: %f, exists bom: %d\n", obj->encoding, obj->confidence, obj->bom);
	detect_obj_free (&obj);
    return 0;
}
```

## AUTHORS

JoungKyun.Kim \<http://oops.org\>

## BUG REPORTS

Use QnA board on https://github.com/Joungkyun/libchardet/issues

## SEE ALSO

[detect\_obj\_free(3)](/detect_obj_free/3.md), [detect(3)](/detect/3.md), [detect\_handledata(3)](/detect_handledata/3.md)
