Hi there,
My Problem:
The red printf gives me back a String. Each character of this Strings got its ASCII-Code changed by adding a Number (Key). Just consider it as a very bad encryption^^.
But what I read in the console looks like this: \223\204\222\223 (Result when I type in "test" and Key=31)
My Problem:
Code:
case 1:
{
Verschluesseln(szString,iSchl);
[COLOR="Red"]printf("Der verschluesselte Text lautet: %s"[/COLOR], szString);
};
The red printf gives me back a String. Each character of this Strings got its ASCII-Code changed by adding a Number (Key). Just consider it as a very bad encryption^^.
But what I read in the console looks like this: \223\204\222\223 (Result when I type in "test" and Key=31)
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define STRLEN 100
int StringLaenge(unsigned char *szString)
{
int Len=0;
Len=strlen(szString);
return Len;
}
int StringPruefung(unsigned char *szString)
{
int Len=0, ii=0;
Len=StringLaenge(szString);
for(ii=0;ii<Len;ii++)
{
if ((szString[ii]<32)||(szString[ii]>122))
{
return 0; /*Falsche Eingabe*/;
}
}
return 1;
}
void Einlesen(unsigned char *szString)
{
printf("Geben Sie einen Text zum Verschluesseln ein: ");
gets(szString);
}
void Ausgabe(unsigned char *szString, char cWahl);
int Verschluesseln(unsigned char *szString, int iSchl)
{
int ii=0, Len=0;
Len=StringLaenge(szString);
for(ii=0;ii<Len;ii++)
szString[ii] = szString[ii]+iSchl;
return 0;
}
void Entschluesseln(unsigned char *szString, int iSchl)
{
int ii=0, Len=0;
Len=StringLaenge(szString);
for(ii=0;ii<Len;ii++)
szString[ii] = szString[ii]-iSchl;
}
void Verdrehe(unsigned char *szString);
int main (void)
{
unsigned char szString[STRLEN];
int iSchl=0, iy=0, temp=0, Len=0;
Einlesen(szString);
Len=StringLaenge(szString);
printf("Geben Sie einen Schluessel ein: ");
scanf("%d",&iSchl);
temp=StringPruefung(szString);
printf("%d \n\n", temp);
printf("Wollen Sie...\n(1) ...verschluesseln?\n(2) ...entschluesseln?\n");
scanf("%d", &iy);
switch(iy)
{
/*Verschluesselung: Steuerzeichen bis ASCII 31 und ASCII-Werte groesser als 122(z) ausgeschlossen*/
case 1:
{
Verschluesseln(szString,iSchl);
printf("Der verschluesselte Text lautet: %s", szString);
};
break;
/*Entschluesselung: keine Pr¸fung*/
case 2:
{
Entschluesseln(szString,iSchl);
printf("Der entschlüsselte Text lautet: %s", szString);
};
break;
default:
{printf("Diese Auswahl gibt es nicht!");
return EXIT_FAILURE;}
break;
}
/*Nur bei Verschl¸sseln String pr¸fen*/
return 0;
}