Я нашел этот код в некоторых книгах:Как сделать файл ввода-вывода на C?
enter code here
int main (int argc, char *argv[])
{
FILE *in, *out;
char *key;
int byte;
if (argc !=4) {
printf ("Usage: xorer <key> <input_file> <output_file>\n");
return 1;
}
key = argv[1];
if ((in = fopen(argv[2], "rb")) != NULL) {
if ((out = fopen(argv[3], "wb")) != NULL) {
while ((byte = getc(in)) != EOF)
{
if (!*key) key = argv[1];
byte^= *(key++);
putc(byte,out);
}
fclose(out); }
fclose(in); }
return 0;
}
Этот код должен делать следующую вещь (простой криптографию с операции XOR):
input = ]VTYJQC]aGC_PDJ[{RJ[EEMLA //encrypted key
key = creature_creautre_creature // string for crypting
--------------------------------
Output >$18>$18>$18>$18>$18>$18>$ // ASCII symbols for XOR crypting
Но код, ничего не делая (компиляции без ошибок)! Я создал файлы input.data, input.in в каталоге кода. Это не работает. Скажите, пожалуйста, как делать input_file и output_file?
«Мой код не работает» не является ** конкретной ** проблемой. Пожалуйста, предоставьте дополнительную информацию. Используйте отладчик. – Olaf