A1exSun
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору KChernov Код: #include <stdio.h> #pragma hdrstop #include <conio.h> #include <string.h> #include <stdlib.h> void crypt(char *str, char *key); struct config { char *Filename; char *Password; // пароль int Asked; int Pause; int Time; int Try; int BackgroundColor; int TextColor; } C; char buffer[1024]; int main(void) { FILE *f; f = fopen("test.txt", "r"); // чтение if (f) { fscanf(f,"%[^\n]\n%d %d %d %d\n%d %d\n",buffer,&C.Asked,&C.Pause, &C.Time,&C.Try,&C.BackgroundColor,&C.TextColor); C.Filename = calloc(strlen(buffer)+1,sizeof(char)); strcpy(C.Filename,buffer); fscanf(f,"%s",buffer); C.Password = calloc(strlen(buffer)+1,sizeof(char)); strcpy(C.Password,buffer); crypt(C.Password,"TestProgram"); fclose(f); printf("%s\n",C.Password); // вывод пароля getch(); } else { C.Filename = calloc(11,sizeof(char)); strcpy(C.Filename,"firststring"); scanf(" %[^\n]",buffer); // ввод пароля C.Password = calloc(strlen(buffer)+1,sizeof(char)); strcpy(C.Password,buffer); } f = fopen("test.txt", "w"); // сохранение if (f) { strcpy(buffer,C.Password); crypt(buffer,"TestProgram"); fprintf(f,"%s\n%d %d %d %d\n%d %d\n%s",C.Filename,C.Asked, C.Pause,C.Time,C.Try,C.BackgroundColor,C.TextColor,buffer); crypt(buffer,"TestProgram"); fclose(f); printf("%s\n",C.Password); // вывод пароля getch(); } return 0; } void crypt(char *str, char *key) { int i, j; for (i = 0; i < (int)strlen(str); i++) for (j = 0; j < (int)strlen(key); j++) str[i] ^= key[j]; } | alexsun например некорректно работает, из файла читается только ale Добавлено: Abs62 А чего с ними происходит то? Позицию он нормально выставляет, проверил: Цитата: 0>15 15>0 1>14 14>1 2>13 13>2 3>12 12>3 4>11 11>4 5>10 10>5 6>9 9>6 7>8 8>7 |
| Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 00:37 17-05-2011 | Исправлено: A1exSun, 00:38 17-05-2011 |
|