🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #9162

Problemas con caracteres.

#9162
From: quantium
Date: Fri, 30 Aug 2002 18:50
58 lines
2752 bytes
Hola a todos.
Tengo un peque�o problema que es el siguiente: estoy haciendo un 
sencillo programa el cual pasa frases al codigo morse. Lo que hago es 
sustituir letra por letra a morse. Pero ahora viene el problema, cuando 
inserto un espacio en la frase lo que hago es utilizar \t para 
traducirla: ejemplo:

./morse
hola mundo

���� --- �-�� .-         -- ��- -� -.. ---


Pues bien, ahora hago:

./morse
hola mundo?

���� --- �-�� .-         -- ��- -� -.. ---

Como podemos ver la interrogacion no ha sido sustituida por el valor 
morse de este caracter, (��--��) ahora os pongo el codigo fuente:

#include <stdio.h>

main()
{
     int i,b,valor;
     char frase[200];
     char letras[]={'a','b','c','d','e','f','g',
                    'h','i','j','k','l','m','n',
                    'o','p','q','r','s','t','u',
                    'v','w','j','y','z',' ','?'};

     char *morse[]={".-","-...","-.-.","-..",".","��-�","--�",
                    "����","��","�---","-�-","�-��","--","-�",
                    "---","�--�","--�-","�-�","���","-",
     "��-","���-","�--","-��-","-�--","--��","\t","��--��"};

     fgets(frase,200,stdin);
     printf("\n\n");
     for(i=0;i<strlen(frase)-1;i++) {
         for(b=0;b<27;b++) {
             if(frase[i]==letras[b]) {
                 printf("%s ",morse[b]);
             }
         }
     }
     printf("\n\n");
}


Pero ahora os cuento una cosa curiosa, si quito en char letras[] el 
caracter del espacio -> ' ' <-  (el penultimo) y tambien si quito en
char *morse[] el tabulador "\t" pues ahora si me pilla el signo de 
interrogacion ?

�A que se debe esto? Venga un saludo a todos :-)
Technical Details
Message-ID: <3D6FBE6D.6090200@lycos.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!234-madr-x23.libre.retevision.ES!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,44ee7efd783c31d1,start
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-08-30 11:50:23 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!234-madr-x23.libre.retevision.ES!not-for-mail
From: quantium <quantium@lycos.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Problemas con caracteres.
Date: Fri, 30 Aug 2002 20:50:21 +0200
Lines: 59
Message-ID: <3D6FBE6D.6090200@lycos.es>
NNTP-Posting-Host: 234-madr-x23.libre.retevision.es (62.83.14.234)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: fu-berlin.de 1030733421 54684650 62.83.14.234 (16 [129971])
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc3) Gecko/20020523
X-Accept-Language: en-us, en