Anuncios Google

como comparar 2 cadenas de caracteres con C u otro lenguaje?

Bueno, hola a todos, primero que nada quiero decirles que si alguien quiere usar esta idea y hacer el programa el mismo, no hay ningun problema (siempre que lo ponga gratuito para descargar xd).  El caso es que yo uso un programa de edicion de videos 3D llamado MikuMikuDance (MMD abreviado), los que lo conozcan sabran que el programa se creo originalmente en japones, y por eso la mayoria de los modelos 3D disponibles para el programa solo estan en japones. Los formatos con el trabaja MMD para los modelos 3D son PMD (para los personajes) y .X para los accesorios, la diferencia entre uno y otro es que los archivos .X no tienen huesos, son estaticos. Hay disponible scripts para diferentes editores 3D como Blender que permiten exportar los modelos al formato PMD, asi como importar.

Pero bueno vamos al grano, a partir de cierta version el MMD estaba disponible en ingles, y asi como en los pmds se incorporo la opcion de tener 2 nombres para los huesos, fisica y demas, uno que se muestra cuando el programa este en Japones y otro para el ingles. Hay una herramienta PMD editor que permite editar a los PMD y tiene una funcion en la que genera una lista con todos los nombres de los huesos. En realidad tampoco seria un traductor del todo, tan solo tendria una base de datos con los nombres y su traduccion. 

Mi idea es crear un programa al que le puedes pegar esa lista y que te genere otra con los nombres traducidos. Lamentablemente mis conocimientos de programacion solo alcanzan a crear calculadoras y programas simples XD. Alguien me ayuda? O ¿Alguien esta dipuesto a hacerlo por mi?


Editado: Movido a Programacion C y C++, postear en el lugar incorrecto incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| AORV


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Almamu

Para comparar dos cadenas usa

Para comparar dos cadenas usa strcmp( cadena1, cadena2 );

Si son iguales devuelve 0, de lo contrario devuelve un numero donde no son iguales.


Imagen de ishida_uryuu

hay muchos programadores en

hay muchos programadores en esta comunidad y nadie me ha respondido asi que he cambio el titulo por algo mas especifico. Lo que quiero que haga el programa es que coja una cadena de texto en japones, bueno, mas bien una lista con varias cadenas, y las compare con una lista de traducciones predefinidas y devuelva esa lista con los valores traducidos, y si no esta en la lista, que le pida al usuario que lo introduzca manualmente ¿Se entiende? Mejor pongo un ejemplo:

Yo quiero traducir esto:

上半身

y el programa me debe devolver la traduccion (en el mismo orden), lo que quedaria algo asi:

upper_body

neck

head

 

 

Imagen de gregocarvajal

Subforo Programacion C

Si posteas en ese subforo recibiras ayuda mas rapidamente de los programadores, ya que en este foro se generan muchas dudas.

Un saludo.

Para comparar en C puedes

Para comparar en C puedes usar la función strcmp (lo vi en una gogleada rápida, realmente no sé cómo se usa xD)

Para la traducción que buscas, lo más sencillo es hacerlo en Lua. Un ejemplo:

traductions={}  --Una tabla (array) vacía
--En Lua se pueden usar palabras como índices... vamos a ello:  
  traductions["頭"] = "head"
    traductions["上半身"] = "upper_body"
      traductions["首"] = "neck"
--Para imprimir, se llama a la tabla, usando igual una palabra como índice:
  print(traductions["首"])  --Se imprime la traducción correspondiente, en este caso imprime "neck"

Sencillísimo, creo yo xD

Una desventaja de trabajar con Lua, es que para ejecutar el script debes tener forzosamente el intérprete instalado (Lua no se compila, así que no hay ejecutables). Otra desventaja es que en la línea de comandos no se pueden pegar esos símbolos, aunque esto se puede solucionar de varias formas, por ejemplo haciendo una interfaz de usuario sencilla (las herramientas para hacerlo se instalan aparte, no son nativas de Lua) o haciendo que el script lea desde un archivo las cadenas que se van a traducir (esto si es muy sencillo).

Una ventaja muy importante (creo yo) es que el script es multiplataforma, puede correr en cualquier sistema operativo siempre y cuando se tenga el intérprete de Lua instalado, además (como pudiste notar seguro) es muy sencillo manejar strings con Lua ;)

Imagen de joserc87

Es una manera.

Y es una de las más sencillas, pero como maneja LUA los vectores de string? Lo hace de forma eficiente?

Lo suyo sería usar tablas Hash para que sea rápido. Si solo tienes unos cientos puede dar igual, pero si tienes miles, puede ser lento usar vectores.

En mi opinión es mejor usar python o Java que LUA para PC, que son también multiplataforma :)


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Imagen de ishida_uryuu

Interesante... Pero creo que

Interesante... Pero creo que voy a esperar para hacerlo, el caso es que actualmente me estoy preparando para las pruebas de acceso a grado superior de informatica, y en el curso de grado superior que se llama programacion y desarrollo multiplataforma o algo asi ya me enseñaran bien a programar. Lo unico que pasa es que no queria esperar hasta el año que viene para esto, queria tenerla ya XD.

Se nota que tengo la sangre de programador en las venas, siento la necesidad de programar para crear herramientas que me ayuden a mi y a los demas usuarios.

 

Edito: LOL, me tuviste 2 min distraido con tu firma xD 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.