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

القراءة من ملف نصي في ++VC

مغلق
بدأه البريشي في 9 يوليو 2007 · 10 رد · 906 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أريد مثال بسيط عن القراءة من ملف نصي يأخذ كل حرف لوحده ثم يحوله ascii ويجري عليه تعديل ثم يخزنه في ملف آخر

أرجو أن يكون الطلب سهلا لانني لم أقدر أن أقرأ كل حرف لوحده كما أنني لم أقدر على معرفة ASCII للأحرف

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

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#2

للرفع

محتاج الكود ضروري

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#3

ما أسهل ذلك

هذا البرنامج لتعرف أسكيهات كل شئ

#include <stdio.h>
#include <conio.h>
int main()
{
	int i;
	for (i = 0; i <= 255; i ++)
	{
		printf("%i : %c\n",i,i);
	}
	getch();
	return 0;
}
#4

أما بخصوص معالجة كل حرف في سترنج فما أسهله

و على فكرة كل البرامج التي أعملها مبنية على السترنج

السترنج الذي تقرآه و تكتبه من الملف بواسطة الدوال fopen و fclose و fread و fwrite

خذ هذا الكود في كيفية القراءة و الكتابة من الملف

#include <stdio.h>
int main()
{
	char fl[1000000];
	FILE *fptr;
	int str;
	fptr = fopen(fln, "c:\test.txt");
	if (!fptr)
		 {
		 printf("\nError...");
		 exit(1);
		 }
	while (str != EOF)
		 {
		 str = getc(fptr);
		 fl[cnt++] = str;
		 }
	fclose(fptr);
return 0;
}

هنا مثلاً عندك ملف إسمه test.txt في الC ثم تحمل ما عليه و تدخله في السترنج fl

تم تعديل هذه المشاركة بواسطة omar_cplusplus في 9 يوليو 2007 في 14:45

#5

ثم بعد ذلك تتعامل مع كل حرف هكذا

مثلاً تريد الحرف الخامس تقول

fl[4] = كذا و كذا;

حيث أن الحرف الأول هو 0 و الثاني هو 1 و هكذا

أرجوا أن أكون قد فهمت سؤالك و أجبتك بما تحتاج

تم تعديل هذه المشاركة بواسطة omar_cplusplus في 9 يوليو 2007 في 14:48

#6

مشكور يا أخي omar_cplusplus

ومشى الحال

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#7

السلام عليكم

 fptr = fopen(fln, "c:\test.txt");

1. fln غير معرفة

2. "c:\\test.txt" وليس "c:\test.txt"

3.

fptr = fopen("c:\\test.txt","r");

وليس

fptr = fopen(fln, "c:\test.txt");

4. إستعمال

if (fptr==NULL)

عوض

if (!fptr)

لأنfptr من نوع FILE* وليس , Boolean (implicit casting)

5. أين fseek

6. cnt غير معرفة

7. تم إستعمالstr دون initialization

.............

يبدو أنه بالفعل سهل جدا

#8
اقتباس
1. fln غير معرفة

2. "c:\\test.txt" وليس "c:\test.txt"

المعذرة

كنت أقصد

	fptr = fopen("C:\\test.txt", "r");

جزاك الله خيراً على التنبيه

#9
اقتباس
5. أين fseek

6. cnt غير معرفة

7. تم إستعمالstr دون initialization

.............

يبدو أنه بالفعل سهل جدا

أما عن سؤالك عن fseek فلن نحتاجه لأننا إستعملنا getc و هذا يكفي للبرنامج لأن كان المقصود أن نحمل الملف في المتغير

أما عن cnt إذا لم تكن معرفة عرفها !!!

أنا إقتطعت تلك الفقرة من الكود من أحد برامجي و و نسيت بعض التعريفات

تم تعديل هذه المشاركة بواسطة omar_cplusplus في 9 يوليو 2007 في 16:22

#10

في مشكلة جديدة

كيف بامكاني أخزن ascii في صيغة hexadecimal في مصفوفة char .

علما أنني حاولت أن أخزن جميع الأرقام في مصفوفة واستدعاء ما أحتاجة بواسة المصفوفة لكنه لا يأتي الا بالحرف الأول فكيف أجعله يأخذ حرفين.

char decToHex12[256]={'00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f','20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f','30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f','40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f','50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f','60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f','70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f','80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f','90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f','a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af','b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf','c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf','d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df','e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef','f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'};
   char mch=(decToHex12[10]);
   printf("%c ",mch);

حيث من المفترض أن تطبع 0a لكنها تطبع 0 فقط

تم تعديل هذه المشاركة بواسطة البريشي في 9 يوليو 2007 في 16:43

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#11

للرفع

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

هذا الموضوع مغلق.

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