Я просто пытаюсь сделать простое шифрование, которое явно небезопасно. Все в порядке, но я получаю непечатаемые символы, такие как новая строка или нуль. Это становится проблемой при декодировании. Как решить эту проблему в этом коде?Как улучшить выход этого XOR?
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char text[1024];
printf("ENTER SOME TEXT \n");
fgets(text, 1024, stdin);
for(i=0;i<strlen(text)-1;++i)
{
if(text[i]!=32)
text[i] ^= i;
}
printf("encoded text : %s",text);
getch();
return(0);
}
функция использования для печати каждого символа сама по себе, может быть, в шестнадцатеричном формате. Передайте ему сообщение и его длину – Pynchia
Не могли бы вы уточнить, чего хотите достичь? Вы не хотите иметь непечатаемые символы в своей строке? – moffeltje
Используйте что-то похожее на rot13 без изменения символа новой строки или нулевого символа, если вы хотите сохранить читаемость. – blottedscience