الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحويل من char الى binary في c++

بدأه intel3000 في 3 يونيو 2011 · 3 رد · 540 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلآم عليكم ورحمه آلله وبركآته

اخواني الاعزاء اني اريد ان آعرف كيف اقوم بالتحويل من الtxt الى binary وفق ترميز ASCII في c++ او c.

" اريد استخدامها لقراءة من ملف يحتوي على نص ،حيث سوف احول النص الذي اقراءه من الملف الى "الثنائي" ".

ارجوا منكم المساعدة ولكم مني جزيل الشكر ....

تم تعديل هذه المشاركة بواسطة intel3000 في 3 يونيو 2011 في 14:05

#2
 #include <iostream>
#include <cstdio>
#include <cstdlib>

using std::cout;
using std::cin;
using std::endl;

static const char* file_name = "input.txt";
static const int bin_str_len = CHAR_BIT;

static void print_binary_string(int c);

int main(void)
{
	FILE* in = fopen(file_name, "r");
	if (!in)
	{
		cout << "cannot open file " << file_name << endl;
		exit(1);
	}

	int c = 0;
	while ( (c=fgetc(in)) != EOF)
	{
		print_binary_string(c);
	}

	cout << endl;

	return 0;
}

static void print_binary_string(int c)
{
	int i =0;
	char* ret = new char;
	for (; i<bin_str_len; i++)
	{
		char out = c & 1;
		c = c >> 1;
		(*ret) = out;
		ret++;
	}

	for (i=0; i<bin_str_len; i++)
		cout << (int) *(ret-i-1);

	delete ret;
	cout << " ";
}
#3

شكرا جزيلا اخي هويدي على المساعدة...

لكن انت قمت في المثال بعمل عرض للمحتوى فقط ،ربما لم يكن سؤالي واضحا ...

انا اريد عمل تشفير بنظام DES ،حيث سوف اقوم بالقراءة من الملف المصدر 64بت في كل مرة حتى نهاية الملف ،ثم كل 64بت سوف اقوم بخلطها: اي البت(bit) الاول يصبح العاشر و العاشر يصبح 60 و بالبت 56 يصبح الثالث وهكذا ....

انا لم افهم كيف يمكنني ان اقوم بتبديل ترتيب البتات ؟؟؟؟؟ وكيفية قرائة 64 بت ؟؟؟؟؟

ارجو المساعدة...

#4

...هل من مجيب ؟؟؟؟؟

مواضيع مشابهة