Jeder kann die Google Translate API mit c verwendenGoogle übersetzen mit c
2
A
Antwort
5
Es ist eine REST-API verfügbar beschrieben here. Sie sollten die leicht genug von C.
1
Dank pwc
i seine Ressource verwendet zugreifen können und erstellt es mit Rohren und hier ist der Quellcode für sie
char chrptr_GoogleResponse [0x1000];
char* chrptr_pos2 = NULL;
char* translate_text = search_str;
char* lang_pairs = "&langpair=es%7Cen'"; // language pairs
bool boNoError = true;
strcpy(chrarray_GoogleCommand, "curl -s -e http://www.my-ajax-site.com \
'https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=");
strcat(chrarray_GoogleCommand, translate_text);
strcat(chrarray_GoogleCommand, lang_pairs);
popen(chrarray_GoogleCommand, "r");
FILE* fileptrFile = popen(chrarray_GoogleCommand, "r");
if (fileptrFile == NULL)
{
printf("Error on opening pipe\n.");
exit(EXIT_FAILURE);
}
while (!feof (fileptrFile))
{
fgets (chrptr_GoogleResponse , 0x1000 , fileptrFile) ;
chrptr_pos1 = strstr(chrptr_GoogleResponse, "{\"translatedText\":\"") ;
if (chrptr_pos1)
{
chrptr_pos1 = chrptr_pos1 + strlen("{\"translatedText\":\"") ;
chrptr_pos2 = strstr(chrptr_GoogleResponse, "\"}, \"responseDetails\": null, \"responseStatus\": 200}") ;
if (chrptr_pos2)
{
memcpy(chrptr_temp, chrptr_pos1, chrptr_pos2 - chrptr_pos1);
memset((void*) ((unsigned long) chrptr_temp + (unsigned long) chrptr_pos2 - (unsigned long) chrptr_pos1), 0, 1);
}
else
boNoError = false ;
}
else
boNoError = false ;
if (feof (fileptrFile))
break;
}
pclose(fileptrFile);
if (boNoError)
strcpy(search_str, chrptr_temp); //copy translated text.