cを使用してGoogle翻訳APIを使用する方法を知っている人は誰でも
質問する
681 次
2 に答える
5
ここで説明されている使用可能な REST API があります。Cから十分に簡単にアクセスできるはずです。
于 2011-01-05T04:53:46.403 に答える
1
pwc
彼のリソースを使用してパイプで作成したおかげで、これがそのソースコードです
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.
于 2011-01-07T23:27:47.930 に答える