שלום לכולם, יש לי שאלה

מ א ו ז ן

New member
שלום לכולם, יש לי שאלה

אני כותב ב - ++C תכנית ENCRYPTION. אני קורא קובץ בבייטים (כל בייט למשתנה UNSIGNED CHAR), ועושה מניפולציות על הערך הדצימלי שלהם. כשאני רוצה לכתוב את הקובץ המוצפן (או לשחזר את הקובץ המקורי) יש לי בעייה עם בייט שערכו הדצימלי הוא 10. בייט 10 מסמל LINE FEED, וכשאני כותב לקובץ המטרה 10, אני מקבל בפועל 13 (CR) ואחריו 10. איך אני יכול להימנע מהטעות? יש איזשהו FLAG שאני צריך להגדיר בהכרזה על הקובץ? משהו אחר? תודה מראש.
 

voguemaster

New member
איך אתה כותב בדיוק ?

עדיף שתעלה קוד כי זה נראה כאילו אתה משתמש בקבוע linefeed.
 

® רן

New member
אתה צריך לפתוח את הקובץ כבינארי

כנראה שאתה פותח אותו כטקסט. תעלה לכאן את השורות הרלוונטיות שבהן אתה פותח/מייצר את הקובץ.
 

מ א ו ז ן

New member
השורות שמתייחסות לקבצים

ofstream trgfile("FILENAME.TXT"); ifstream srcfil("FILENAME.TXT", ios::in | ios::binary); srcfil.unsetf(ios::skipws);​
 
למעלה