| Server IP : 20.75.53.88 / Your IP : 216.73.217.138 [ Web Server : Apache System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29+esm15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Domains : 3 Domains MySQL : ON | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/libicu-dev/examples/csdet/ |
Upload File : |
/*
********************************************************************************
* 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;
}