Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2012, 20:36   #1
Madara88
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 15
По умолчанию модификация файла на языке С в язык С++

можете помочь переделать функцию. данная функция реализована на языке С и поэтому она работает только в ос linux и ей подобных. мне нужно чтобы эта функция работала на винде через vs 2010. я пытался ее переделать, но в результате после запуска отображается лишь "Missing argument. для продолжения нажмите любую кнопку", а по идее нужно сделать так чтобы можно было ввести полный путь к файлу "d:\q.txt" чтобы его расшифровать. из данной функции нужно убрать argc and argv и заменить их так чтобы прога работала.
Пример того как должна работать прога:
введите пароль: вводим пароль
введите имя файла: d:\rfc796.txt
файл расшифрован.
#include <stdio.h>
#include "rijndael.h"

#define KEYBITS 256

int main(int argc, char **argv)
{
unsigned long rk[RKLENGTH(KEYBITS)];
unsigned char key[KEYLENGTH(KEYBITS)];
int i;
int nrounds;
char *password;
FILE *input;
if (argc < 3)
{
fputs("Missing argument", stderr);
return 1;
}
password = argv[1];
for (i = 0; i < sizeof(key); i++)
key[i] = *password != 0 ? *password++ : 0;
input = fopen(argv[2], "rb");
if (input == NULL)
{
fputs("File read error", stderr);
return 1;
}
nrounds = rijndaelSetupDecrypt(rk, key, 256);
while (1)
{
unsigned char plaintext[16];
unsigned char ciphertext[16];
int j;
if (fread(ciphertext, sizeof(ciphertext), 1, input) != 1)
break;
rijndaelDecrypt(rk, nrounds, ciphertext, plaintext);
fwrite(plaintext, sizeof(plaintext), 1, stdout);
}
fclose(input);
}
Madara88 вне форума Ответить с цитированием
Старый 28.11.2012, 21:16   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

программа будет работать ровно как в лине так и на винде, и совершенно одинакого она и там и там принимает путь к файлу через параметр при запуске.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
синтаксически программа на языке си++ состоит из?язык си++ mitja-zakelidis Помощь студентам 3 17.03.2012 01:33
Алгорим решения олимпиадной задачи "Язык програмирования XY" ( в языке XY всего две операции X и Y....) morgan97 Паскаль, Turbo Pascal, PascalABC.NET 0 17.11.2011 20:07
Чтение из файла(язык С) Naper214 Помощь студентам 5 12.04.2010 00:11
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid lightdevil Общие вопросы Delphi 3 06.03.2009 23:10