/
usr
/
share
/
doc
/
libicu-devel
/
samples
/
csdet
/
/usr/share/doc/libicu-devel/samples/csdet
mkdir
upload
Name
Size
Mode
Actions
csdet.c
2144
0644
edit
dl
rm
csdet.vcxproj
8122
0644
edit
dl
rm
csdet.vcxproj.filters
898
0644
edit
dl
rm
Makefile
618
0644
edit
dl
rm
readme.txt
2241
0644
edit
dl
rm
Edit:
/usr/share/doc/libicu-devel/samples/csdet/csdet.c
(2144B)
/* ******************************************************************************** * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html#License ******************************************************************************** ******************************************************************************** * Copyright (C) 2005-2006, International Business Machines * Corporation and others. All Rights Reserved. ******************************************************************************* */ #include "unicode/utypes.h" #include "unicode/ucsdet.h" #include <string.h> #include <stdio.h> #define BUFFER_SIZE 8192 int main(int argc, char *argv[]) { static char buffer[BUFFER_SIZE]; int32_t arg; if( argc <= 1 ) { printf("Usage: %s [filename]...\n", argv[0]); return -1; } for(arg = 1; arg < argc; arg += 1) { FILE *file; char *filename = argv[arg]; int32_t inputLength, match, matchCount = 0; UCharsetDetector* csd; const UCharsetMatch **csm; UErrorCode status = U_ZERO_ERROR; if (arg > 1) { printf("\n"); } file = fopen(filename, "rb"); if (file == NULL) { printf("Cannot open file \"%s\"\n\n", filename); continue; } printf("%s:\n", filename); inputLength = (int32_t) fread(buffer, 1, BUFFER_SIZE, file); fclose(file); csd = ucsdet_open(&status); ucsdet_setText(csd, buffer, inputLength, &status); csm = ucsdet_detectAll(csd, &matchCount, &status); for(match = 0; match < matchCount; match += 1) { const char *name = ucsdet_getName(csm[match], &status); const char *lang = ucsdet_getLanguage(csm[match], &status); int32_t confidence = ucsdet_getConfidence(csm[match], &status); if (lang == NULL || strlen(lang) == 0) { lang = "**"; } printf("%s (%s) %d\n", name, lang, confidence); } ucsdet_close(csd); } return 0; }
Save
cmd:
run