[Powered by Google Translate] [Walkthrough - Forsit Pone IV]
[Zamyla Chan - Harvard University]
[Hoc est CS50. - CS50.TV]
Omni jure. Salve omnes et acceptissimam Walkthrough IV.
>> Hodie nobis pset est Forensics.
Forensics est a vere fun pset qui repugno, commercio cum bitmap files
qui scelere invenire.
Deinde nos, erant 'iens ut resize aliqua bitmap lima,
tunc erant 'etiam erogaturum cum a vere fun pars vocavit Recupera,
in quo erant 'basically tradidit memoria card
in quo casu aliquis deleatur de omnibus ordinibus
et erant 'interrogavit ad ea recipienda lima.
>> Sed antequam deveniatur ad pset prorsus omnis vis videri congratulemur.
Sumus circumagantur mediocritatem hunc cursum.
Quiz 0 est post nos, et 'procul pset4, ita essentialiter, sumus ultro insequuntur.
Weve adveho a porro via si quaesieris revertere ad locum tuum psets, pset0 et pset1,
sic te conlaudes super ut,
et nos erant 'iens impetro in aliquam realiter fun effercio.
>> Ita noster Mutationes conlatae hoc enim pset, rursus, pro currit sudo yum-y update,
sumus potens iustus run update50 si vestri 'procul version 17.3 et supra de INSTRUMENTUM.
Sic exsisto certus ut currere update50 - suus 'multus facillimus, paucis minus characters -
Vestibulum curare, ut sis in versione INSTRUMENTUM.
Praesertim suus 'maximus ut update50 quando nos satus usura CS50 Moderare.
Facis fac ita.
>> Omnes enim sectiones hoc enim pset,
erant 'iens ut tractandas file inputs et outputs lima I / O.
Sumamus de illo iri elit in sem vestit
demonstrato files et res amo ut,
fac nos sumus rei familiaris commoda vellet
commercio cum quomodo input et output in lima.
>> In distribuendis codice hoc enim pset est file vocavit copy.c,
et id quod revera utile est futurus es nobis invenire
quoniam erant 'iens ad terminus sursum actu iactat imitari copy.c file
et sicut primum alterans parum consequi posse problemate partis II.
>> Et tunc ut supra diximus, agitur etiam JPEGs bitmaps.
Vnde reuera intelligendo structura quomodo illi, files sunt organisatum,
quomodo nos potest realiter transferátur 0s et longitudinis 1s in structs
et quae nos possit actu intelligere et interpretabor et recensere,
quod erit vere maximus,
sic euntes in jpeg et bitmap files et intelligendi structura illis,.
>> Pset4 solito pars incipit esse.
Quos ego faciam file / O vos adepto ut solet.
Pars I est Whodunit, in qua vos, sumendae detur a bitmap file
, quod respicit genus quasi ruber punctis per omnia.
Et tunc basically quid erant 'iens efficio est hanc sume file et justum creare eamque aliquantulum
in versionem quod possumus legere.
Se, postquam complevit, certe idem lima
nisi forte nos eris videre poterat occultus nuntius abscondita ab omnibus illis, ruber punctis.
Tunc Resize est progressio ut data file
Nomen autem fasciculi et data est numero ac outputs etiam
actu resize qui bitmap per id integer valorem.
Tunc denique, habemus Recupera pset.
Card datur, tum memoria repetere imagines omnium
ut have been per accidens deleted,
sed, ut puteus 'discere, non actu, deleted et sublatum est ex file;
Sicut enim in quodam loco lima perdiderit, recuperare non facturi sumus.
>> Magna. Ita congressus file I / O specialiter sunt per totam seriem munera eris.
Youve 'iam cernitur pauxilla basics of fopen, fread, et fwrite,
sed erant 'iens ut respice vlterius in aliquam file EGO / O muneris talis ut fputc,
tum in ratione qua nunc scribere,
ad fseek, ubi tu genus movere file positio indicator ante et retro,
dein quaedam aliis. Sed nos ibo in id paulo post durante pset.
>> Ita primum, iustus impetro in file I / O ante imus per pset,
lima aperire, ut facias quod illa regula posuit actum est.
Est ergo nobis LIMA * monstratorem.
In hoc casu, Im 'vocans illud an in monstratorem quia illa suus' iens meus esse infile.
Ego itaque uti et officii nomine file fopen
Ego rem et modum quo ipsa tractatio est.
Sic illic '"r" in hoc casu pro lectio, "w" pro scripto, et tunc "a" pro appensione.
Puta cum vestri 'paciscor cum infile
legitur et particulam bytes facere voluisti seruabatur,
tunc vos erant 'forsit iens ut volo utor "r" ut vestri modus.
Cum sis ipsa scribendi novum genus lima
quid nos facturi sumus novi gradiens ad aperiendum file amet
et utor "w" modus pro scribebat.
>> Lorem ipsum dolor Cum igitur in legendo, opus est.
Te prius includunt monstratorem instrúite ut mos continent bytes ut vestri 'legentem.
Ut prox 'iens ut locus sit finis legis es.
Vos es tunc iens ut indicant moli, similis basically quot bytes
vestri progressio habet ad legitur in ad lima, moli basically unum elementum est,
quae et quanta sis venturus vis dare iussit.
Tum demum legere scis te scire,
ita ut suus 'iens ut sint vobis in monstratorem.
Ego color-coded sint propterea quod fread etiam est valde similis ut fwrite,
vult uti nisi certo ordine,
fac sis etiam legere aut scribere ad ius tenui.
>> Itaque prius quam si non habet magnitudinem secundum particularum numerum,
tunc potest ludere circa hic paulum mandit.
Tunc dicet et ego volo instruere canis canis tempore legebatur.
Dicendum quod quantitas est unum elementum possim ire vel unus canis magnitudinis
Ego rem etiam legenda et duos.
Vel quod est facere aio justo quis elementum lecturus
unum duorum canum futurus elementum.
Sic ut 'analogum quomodo vos can genus ludi circum magnitudine quidem et numero
secundum intellectum magis quam vobis.
>> Omni jure. Ita nunc nos adepto ad scribendum lima.
Scribi vis lima, ubi primum quidem legere scis.
Sic ut 'basically notitia ut vos es conscribemus in lima,
regula est de fine.
Cum agitur de pset es, fac Donec non confundetur.
Maybe habere definitiones plagam per latus.
Vos can vello definitiones sursum in manual per typing homo et tunc fwrite, puta
in terminalis, vel vos referre potest ad hoc slide
et rectus usus es, fac.
Sic enim fwrite cum scribis tibi vis in lima,
ut 'suus' iens futurus est regula et ratio ultima ad est.
Sic ergo illud 'quam nos agere cum scribens fortasse plures bytes procul a vicis,
unius tantum vis dicunt scribere solebant.
Hoc ut infra dabimus exemplum in bitmaps uti certe est.
Ut 'quando uti possumus fputc, essentialiter iustus posito una aliqua ratione procul a vicis, Chr,
in file monstratorem, et quod est scriptor nostri monstratorem ibi.
Cum ergo quaeritur an scribendum lima,
ubi simus limae vestigia servat.
Sic suus 'quadam cursorem, lima positio indicator.
Scribere aut legere, et iterum cum lima,
lima actu meminit, ubi est,
et sic pergit unde cursorem est.
Quod si prodesse volunt, dicunt aliquid agere dicitur
et tunc legere in sequenti quantitate,
Ut interdum ipsum nec velle reverti incipiant propter aliquam pretium.
Sic ergo fseek muneris, quod autem agit, est permittit nos movere cursorem in quodam file
numerum quendam bytes.
Quid ergo agendum est de quo nominatim pretium.
Sic aut movet prolata vel retro a ubi cursorem currently est,
ut certi vel movetur a principio ita fasciculi
nec finis est.
Positivus sive negativus et bona in quantum potes,
cursorem eius generis qui movet aut priorem aut posteriorem.
>> Ante nos adepto in alteram psets, ullus interrogationes de file EGO / O?
Okay. Ut in exemplis agamus, libenter me proposuerat, accessit.
>> Ita in Whodunit, vestri 'tradidit bitmap file simile hac rufa unus a labi,
et hoc videtur - sanguinei punctis racemum - sciunt quid et est.
STRABUS si, ut possitis infra medium leviter caerulea.
Per se dicitur illud, quo condideris.
Erat caede facta, oportet considerare quid est.
Quia ad hoc oportet modum readable convertit in imagine format.
Si vos guys semper congressi hoc, interdum parum sit kits
ubi tu haberet magnificantes vitrum rubeum tabulae movendi habeam. Num cui? Yeah.
Tale, ita tradatur, magnificantes te habere speculum
super rubeo amet, posuit super vos imaginem
verbum absconditum et ea videre posset.
Nos non habent magnificantes vitrum cum rubeo film: sed erant 'iens ut genus creare nostra
in hoc pset.
Et sic user est iens ut input whodunit, tunc clue,. Bmp,
sic ut 'infile, ut' ruber dot nuncium,
et tunc erant 'dicens verdict.bmp est iens noster esse outfile.
Suus 'iens ut imago similis sensus unum novum bitmap
nisi in readable format ubi possumus intueri, occultus nuntius.
>> Cum nos erant 'iens ut tractandas emendo et deformetur bitmaps aliquam,
in qua futuri sumus dorso bitmap haec structura lectus.
Ivimus super has pauco in auditoria, sed lets perspexero in eis aliqui magis.
Bitmaps sunt essentialiter iustus an dispositio bytes
ubi nos specificatur quae bytes significare id quod.
Ergo accipe et genus quasi map of bitmap imago
dicentes quod incipit cum aliqua caput capitis lima, MDCCLXXV nonnullus notitia ibi.
Videtis quod circa byte numerus XIV moli indicatur de bitmap imaginem,
et pergit on.
Set quid erant 'realiter interested in hic est proficisci circa byte numerus LIV.
Habebimus has RGB triplis.
Quid quod suus 'iens efficio est continent actualis pixels, color valores.
Omnia supra id in caput capitis est nonnullus notitia
unde secundum modum imaginis effigiem latitudine et altitudine.
Cum imus padding postea certe quam ob magnitudinem imaginum
ut esset diversis quam longitudo seu altitudo.
Sic tum ad repraesentandum his - his bitmap sint simulacra series bytes -
quod poteramus efficio est dicere okay, Im 'iens ut quod memores estote quod index XIV,
qua id magnitudine enim sed quid facturus es hoc facilius
est encapsulate illud in instrúite.
Et sic habemus duo structs factus est nobis, a BITMAPFILEHEADER
et BITMAPINFOHEADER,
Et cum dicitur quod lima iri defectu suus 'iens ut,
et sic in ordinem suus 'quoque ad replendum in variabiles talis ut biWidth et biSize.
Et tunc demum, omnis pixel repraesentatur per tres bytes.
Caeruleo per summa pixel prior, secundum quantitatem viride
et, denique, moles rufi, ubi 0 est essentialiter non caeruleo aut viridia non nihil aut non ruber
et tunc ff est maximum valorem.
Hi sunt hexadecimal valores.
Igitur si habemus ff0000, tunc id, correspondet ad maximam amount de hyacintho
et tunc viridia non et nulla ruber, sic tunc qui daret nobis hyacintho pixel.
Tunc si habemus ff scriptor totus trans tabula, tunc id, quod significet quod habemus albus pixel.
Hoc est genus oppositum typice cum dicimus RGB. Suus 'vere iens BGR.
>> Unde si actu perspexero in exemplum bitmap imago - sine me attrahendam una usque hic.
Suus 'paulo parva.
Im 'zooming, et videre possumus suus' pixelated. Tiam speciem coloris.
Habetis albus caemento et hinc rubeus caudices.
Microsoft si luderet pingere, scilicet ut posses facere
a basically iustus pingenda quaedam quadrata in a imprimis ordo.
Timeamus ergo, quod in bitmap est.
Hic primo albo pixel, quod est VI F, tum coloris pixel,
indicatur per 0000ff.
Et sic sequentia bytes quod habemus indicat quomodo bitmap imago est iens ut vultus.
Sic quod egi hic iustus est perscriptum omnes illi bytes et tunc coloratum rubro
Ista quidem videat parum STRABUS si quid tale signum Suspendisse faciem.
>> Viam, quæ bitmap imagines opus est, ego envision eam basically quasi malesuada euismod.
Et sic per defaltam, omnis ordinis de malesuada euismod habet esse a multiple of IV bytes.
Si quis ad imaginem bitmap es in ultrices pretium.
Sicut si haec esset rubeum, viride hic caeruleo hic
Sed fac esse multiplex in quattuor species completa prox.
Si volo imaginem tres insulae latus, tunc esset ponere vacuum pretium
ut multiplicem in ultimis quatuor.
Sic ego additurum in aliquo quod erant 'vocans padding.
X cum ita futurum esse quod sum.
VII pixels volumus donec dicatis imago enim.
Habemus I, II, III, IV, V, VI, VII,
et impletur in eo calorem.
Viam, quæ bitmap imagines operari est quod nos indigent 8.
I nunc habemus, II, III, IV, V, VI, VII.
Nos postulo VIII spatia pro bitmap imago legere recte.
Quid ergo agendum est modo aliquid addere padding
ut omnia certa sint uniformes inversa coniungenda
et multiplicata sunt omnia inversa coniungenda IV.
Et sic antea indicatur, padding ut an x ​​aut squiggly linea,
In ipso demonstrat padding imaginibus hexadecimal bitmap 0.
Ita ut esset uno character, 0.
Quid foret adveho in manus manus est defectu imperio.
Quod quidem probat sic tibi, cum prius Suspendisse simile
cum ego actu typis quid quemque colorem esset ad pixel
et tunc color-coded, cum concurrentibus vobis defectu cum sequenti imperia,
tunc erit actu procer sicco quis colores sint, pro illis pixels.
Quid tibi faciendum est hic indicare, ut LIV s
dicit quod Im 'iens ut satus ad 54th byte
quia ante illud, memento, si respiciamus ad map of bitmaps,
Vestibulum id ipsum et omnia huiusmodi.
Sed quod est ipsum esse curae colorem demonstrantia pixels.
Lum in hoc adjecto, LIV s itaque bonis sumus videre colorem.
Nec integer rhoncus cura et huiusmodi.
In problemate paro amet, youll habere directiones in quam ut uti defectu ostentant pixels.
Quod si hic, quod videtur quasi virens buxum hoc parum.
Ive 'color-coded in 00ff00 sicut basically dicens non hyacintho, multum viride, et non rubrum.
Sic qui correspondet ad viridem.
Ut hic vides, illud nempe viridi.
Hoc viridi rectangulum est solum III pixels lata, sic tunc quod habemus facere
facio certus ut imago est a multiple of IV lata adjiciat in susicivus padding.
0s id est ut quemadmodum hic vides.
Hoc etiam erit abs te de Resize pset,
essentialiter accipiens parva bitmap et tunc augendo eam per IV.
Et sic illud quod videmus ut etiam haec imago sit XII pixels lata, sed XII est a multiple of IV,
Itaque nullum 0s fine actu non oportet quod addatur
quia suus 'plene padded. Amplius locum non habet.
>> Okay. Ullus questions circa padding?
Okay. Frigus.
>> Ut monui ante, bitmaps es iustus a serie bytes.
Et sic illud quod habemus est pro indigens ut servo semita of exigo quod numerus byte
correspondet specifica elementum, actu tamen creaverit instrúite repraesentare.
Sic quod habemus est RGBTRIPLE instrúite.
Quotiens te habet instantiam of an RGB triplex,
quia hoc est typus definire instrúite, tunc vos can obvius rgbtBlue variabilis,
item viridi et rubro differentias quae insinuant quantum caeruleo, viridi, rubeo,
respective, habetis.
>> Ut si variabili set 0 caeruleo viridem positus ff
quae potest esse maxima et varia Rubro profecti 0
tunc quod color hoc particulari RGB triplici repraesentant? >> [Studiosum] illuminátio mea.
Viridis. Exacte agnoscant,.
Quod suus 'iens quoties instantia utile RGB est triplex,
color etiam aditus quantum potes - caeruleo, viridi, rubro - tumque.
>> Nunc eget compagem loquebantur, inspice et fac quod BMP est.
Hi sunt structs fecit pro vobis.
Hie est enim BITMAPFILEHEADER instrúite.
Interest est amplitudo.
Deinde habemus Vestibulum volutpat, dolor quam pauca quae nobis
nempe magnitudinem, latitudine et altitudine.
Ibo ad nos postea ad limam legis,
Lorem quia sponte posuit ut legitur in eodem.
Ita biSize continebit ius bytes quod respondet actuali moli imaginem.
Et tunc hic, postremo, quod weve narravimus, habemus RGBTRIPLE typedef instrúite.
RgbtBlue habemus, viride, rubrum coniungitur.
>> Magna. Okay.
Nunc quod intelligimus bitmaps pauco, intellege quod habemus file caput capitis
Vestibulum mollis et postea coniungitur et, est diam dolor
in coloribus, et colores illi repraesentantur per RGBTRIPLE structs,
et rursus consociata incepta tria caeruleo, viridi et rubro.
>> Nunc licet cogites de qua paulo sanitatem.
Paenitet. Cogitare de Whodunit.
Quando nos have nostrum clue lima, tum id ipsum quod volo efficio est legitur in ad eam pixel a pixel
et tunc quodammodo mutare pixels ita quod possumus output eam in readable format.
Et ideo, ad output is, nos erant 'iens ut scribere pixel a pixel in verdict.bmp lima.
Ad id genus multa. Scimus quia.
Sic quis weve fit, est weve actu tibi præbuerit copy.c.
Quid copy.c facit, est iustus planto exactam exemplar data bitmap file et tunc outputs eam.
Ita hoc iam aperit file pro vobis, legit in pixel a pixel,
et tunc scribit eam in in output lima.
>> Sit hoc inspice.
Hoc ensuring proprium usum,
questus filenames hic.
Quid hoc facit, est eam obfirmatur input file esse quod weve 'Transierunt in infile hic,
quae est nostra secundus imperio-line argumentum.
Suspendisse aperire facio certus ut est.
Sumptisque ad planto certus nos potest facere novum outfile hic.
Deinde quid haec facit, hic, is iustus basically incipit legentem in ad bitmap file a principio.
Principio novimus BITMAPFILEHEADER continet,
et sic sequences frenos directe replendum BITMAPFILEHEADER.
Quid ergo habemus hic dicit, BITMAPFILEHEADER bf -
ut 'noster novam variabilem ratio BITMAPFILEHEADER -
erant 'iens ut posuit inside bf quod legitur ab in monstratorem, quae est nostra infile.
Quanto non legitur?
Legimus in quot bytes nos postulo ut Totam BITMAPFILEHEADER.
Similiter, quod suus 'quod facimus pro info caput capitis.
Sic erant 'perdurantes secundum nostram lima in infile,
et erant 'legendo ea frenos et bytes, et nos erant' plugging eos directe in
dum sumus in his exemplis esse constet.
Hic erant 'iustus condita certus ut bitmap est bitmap.
>> Nunc habemus outfile, vox?
Sic, ut stat, cum nos creavit eam, suus 'essentialiter inanem.
Sic habemus ad basically partum a novus bitmap a scabere.
Quod nos facimus, debemus imitari nos fac de Vestibulum file
et info caput capitis sicut infile habet.
Scribimus nos enim quid - bf variabilis memento
ratio BITMAPFILEHEADER, ita quod facimus est nos iustus utor ut content
scribere in outfile.
Hic, meministi nos communicaverunt de padding,
quam curare, ut quantum Gravis est nobis multiplicata pixels IV.
Is est a pulchellus utilis formula, calculari quanto padding habetis
data latitudine vestri lima.
Volo vos guys ut meminerint in copy.c habemus formula pro calculandum padding.
Okay? Ita quilibet recordare in. Magna.
Ergo quid copy.c facit proxima est eam iterates universo scanlines.
Is goes per ordines primum, et tunc recondit omnis triplici quod legit
et tunc scribit eam in outfile.
Sic tunc hic erant 'lectio una tantum RGB triplici tempore
et tunc posito eadem triplici in outfile.
Non furta RGB padding quod triplex est,
et ideo potest non iustus legitur quod padding amount of RGB triplis.
Quod habemus efficio est actualiter iustus movere nostrum file positio indicator, movere nostrum cursorem,
transibit in omni genere proximo versu padding ut turpis.
Et tunc quid hoc facit, est exemplar tibi ostendit quomodo vos vires volo subinfero padding.
Sic weve calculata quanto padding egemus,
ita ut opes ut nos postulo padding numerum 0s.
Quid hoc facit, est a, pro loop qui ponit padding numerum 0s in nostram outfile.
Et tunc demum, claudis et lectus. Claudis, infile necnon outfile.
>> Sic ut 'quam copy.c opera,
Duis et risus utile fore.
Pro iustus actu directe exscribend testatem quod preteritus eam
vel iustus aspiciens et typing in quodcumque volueritis,
ita ut praeceptum terminum vult facere,
cp copy.c whodunit.c, quod erit partum a novus lima, whodunit.c,
est quod continet exigere eadem contentus copy facit.
Quid ergo possumus, ut ea quae intra Duis constituerentur
pro nostra whodunit lima.
>> Isti sunt ut-dos ut faciam Whodunit, sed quid copy.c facit
revera nobis maxime curae.
Omnes ergo faciendum est necessarium ad necessitatem mutare pixels
actu et lima readable.
Memento quod pro dato pixel triplex, sic pro dato variabili type RGBTRIPLE,
tibi obvius cæruleum, viridem, rubrum bona.
Id si propter futura expediti aditus eis
id quod etiam inhibente
quae res ea mutare posse.
>> Ita nos, quum abierunt retro ad nostram ruber magnificantes vitrum exemplo,
plerumque et quadam vice antehabeo nobis.
Quid enim uolumus triplis volumus ut omnes veniant elit filter
Hoc est pluribus modis.
Plerumque, habeas qualemcunque velis imperdiet.
Maybe vos volo muto rubere pixels
tibi forte ad pixel color mutatus color.
Ut 'usque vos.
Memento quod et tu can reprehendo quid colore pixel est
item ut vos et vestri 'iens per.
>> Okay. Sic ut 'Whodunit.
Quondam vos currere Whodunit, youll scire, qui in iisque de crimine erat.
>> Nunc erant 'iens ire ad Resize.
Sumamus adhuc tractandas bitmaps.
Quid nos facturi sumus habituri erant in input bitmap
et tunc erant 'iens ut transibit in et numerum, tunc adepto an outfile bitmap
ubi ut 'basically nostri infile escensu a n.
Meus file iustus erat unum pixel grandem.
Tunc si mea n erat III, scandendum a III, tunc ego repetere voluit quod pixel n pluries,
III semper ut, etiam usque conscendere ut témpora III.
Videtis igitur, Im 'succederent eam verticaliter necnon stratum.
>> Et hic exemplo.
Si vos have n = II, videtis quod primum hyacintho pixel ibi iterari duo tempora
tam horizontaliter quam duo tempora verticaliter.
Deinde prosequitur: et sic pristina proxime succedendi in duas species.
>> Si igitur hoc pseudocode explicare volumus aperire est.
Sin sciens et revertentem
videmus quod width pro outfile est iens diversum esse quam longitudo pro infile.
Quidnam est istuc?
Ut opes ut nostri caput capitis notitia est iens ut mutare.
Et sic illud quod puteus 'volo efficio est update caput capitis info,
scientes quod cum legimus in lima si vestri 'operantem in copy.c compage,
demonstrat quod sit quantitas variabilis, jam et huiusmodi.
Rursus habes quid facere vellet illae mutatur purus.
Memento, si tibi instruere quomodo constet, se parat.
Vos utor dot operator, vox?
Ergo per hoc scis Vestibulum libero opust convertere.
Ita ut hic indicem mutatum iri elementa in actu est.
Magnitudo fasciculi iri mutat speciem, sicut latitudo, et altitudo.
Igitur reversus est ad descriptionem bitmaps,
inviso utrum suus 'file caput capitis vel info caput capitis est quod continet informationes
et tunc mutari necessarius.
Vero dixerunt cp copy.c resize.c.
Id est resize.c nunc totum continet, ut 'continetur inside copy
quia copy providet nobis via legendi singulis scanline pixel a pixel.
Nisi nunc pro iustus mutans valores amo nos did in Whodunit,
Scribere est agere velimus quod volumus multipliciter pixels
I n maior donec.
>> Quid ergo vult nos uolumus extendere n fundit,
necnon extendere verticaliter a n.
Unde posset enim hoc facimus?
Dico vestri n est II et tu habes hac data infile.
Cursorem vestrum primus in futurum consulendo,
si quid vis n II, in II de velis imprimere.
Sic vos imprimendam II illis,.
Cursorem in proximum tuum pixel acturum, quod tentorium
et suus 'iens ut procer ex II de illis ruber ones, appensione eam onto quid suus' perfectus prius.
Tunc cursorem movebo ad proximam pixel et describes in II illis,.
Si vos respiciamus ad copy.c compage, quid sit hoc recte facit hic
est creat nova instantia of an RGB triplex, novam variabilem vocavit triplici.
Et hic cum legit in eo legit cum infile I RGBTRIPLE
triplici illo recondit intus variabilis.
Sic ergo et tu habere in actu variabilis repraesentans quod particulares pixel.
Deinde cum te scribis, quid vos vires volo efficio est INAEDIFICO in fwrite constitutionis in a, pro loop
scribentem eam in vestri outfile quotiens opus est.
Quod suus 'simplex satis.
Just basically repetere scripto processus n pluries scandere Horizonti parallela.
>> Sed meminisse debemus, quod futurum padding laborum.
Previously, dicunt, nos habuerint aliquid longitudinis III.
Tune essemus iustus adaugeo in quanto padding? Ut plus una multiplicata IV.
Haec transcendere nisi imaginem sumus dicere n = II.
Sic tunc quot hyacintho pixels sumus ut in fine? Volumus habere VI.
I, II, III, IV, V, VI. Omni jure.
IV VI multiplicata est. Quis 'proxima multiple of IV? Lorem VIII futurum.
Sic erant 'actu habiturus II characteres padding ibi.
>> Does quisquam memor si habemus a formula, calculari padding
et ubi ut vires exsisto?
[Tacita studiosum responsio] >> Yeah, copy.c. Rectus.
Est formula in copy.c, calculari quanto padding habetis
data particulari latitudinem bitmap imaginem.
Sic ergo oportet addere utiles futurae vitae aliquam padding
Lorem ipsum padding instar sicco quam ut sapien.
Sed sciendum est tamen usus es, fac quod vis corporis potestatem.
Iustus exsisto curiosus, quia sis basically iri duarum bitmap imaginibus.
Fac uti voles es rectus.
Nam cum sis colligendis outfile padding vis outfile uti latitudo
et latitudine prior.
>> Magna. Id genus curam gerit de extendens totum bitmap imago stratum.
Uolumus extendere quid directum in actu est.
Hoc est iens futurus pauco trickier quia cum weve consummavi exscribend testatem costula
scripto et ordinis ad finem futurum est cursor noster.
Si dicitur, tunc suus 'iustus ut lecturus adiungunt.
Sic quod nos volo efficio est genus aliquod iter exscribend testatem illis ordines iterum
vel iustus genus sumpto row et tunc rescribo is iterum.
Ut quidem insinuatum est, hoc pluribus modis.
Per quod posset legis sis venturus est in specie scanline
et mutato tanquam necessarium, tunc genus copia omnium illorum pixels in an ordinata.
Deinde postea in vos scire quod youll 'postulo ut procer sicco ut array iterum,
illam aciem et sic facere pos.
Non aliter poteras describere ad singula ordine
imitantur oportet intelligere, ita etiam cursor moves,
et quod suus 'iens futurus usura methodo fseek.
Vos could permoveo vestri cursorem omni via retro et tunc revolvo copy processus iterum.
>> Si igitur succedendi numerus n, quotiens redire volumus
et RESCRIBO linea? >> [Studiosum] n - I. >> Yeah, perfectus. n - I.
Omnia iam diximus, tunc certe inde aliquid dicere vult
n - I summa temporum.
Okay. Sic illic vos have vestri resize muneris.
>> Autem possumus adepto ut a vere fun parte, meus ventus pset, quae est Recupera.
Pro bitmaps, hoc tempus erant 'commercio cum JPEGs.
Sumamus actu non dedit lima iustus de JPEGs,
nos, sumendae detur basically crudum memoria card format.
, Et sic haec continet aliquantulus of info et purgamentum valores in principio,
et tunc incipit habere collectos jpeg dolor.
Tamen, erant 'tradidit charta ubi weve' deleted photos;
essentialiter, weve oblitus ubi photos collocantur ad card.
Sic tunc, nostri operis in Recupera ingressurus est per hoc card format
et inveniet eos pictures iterum.
>> Feliciter, et structuras jpeg lima card file est aliquantulus benevolens.
Certus quod si non esset in hoc trickier amet elit.
Omnis jpeg file actu incipit cum duobus possibilis sequences, audio supra.
Basically, quandocumque habeat novam jpeg lima,
incipit aut ex sequence ffd8 ffe0 aut alteri, ffd8 ffe1.
Alius benevolens res scio est quod JPEGs sunt recondita contiguously.
Itaque quotiescunque unum jpeg file desinit, alter astrorum.
Non est igitur valoribus inter se benevolentiae aliquam.
Quondam vos ledo initium jpeg, si youve 'iam legentem jpeg,
Aenean placerat scis initio et fine proximo superiore.
>> Ad genus visualize hoc, Ego percussi schematic.
Hoc est quod legimus in alia series JPEGs bytes DXII simul,
Similiter principium Card.
Nos non indigetis ut reprehendo singulis byte quia hoc esset nutrientibus.
Ut magis quid possumus etiam simul ita legi prox DXII
et tunc, pro reprehendo in inter illos in illis minutula peragitato,
nos can iustus reprehendo principio DXII bytes.
Se in hac pictura in principio carere videris,
habetis valores, qui non realiter relevant ad actu JPEGs se ipsos.
Sed tunc quid ego habeo autem stellae ad indicandum unus ex duobus satus sequences pro jpeg.
Itaque cum videris sidus habes nosti jpeg est.
Atque tunc quodlibet jpeg file futurum est quoddam multiplum DXII bytes
sed non eadem multiplex.
Via quod tu scis youve ledo alius jpeg est si vos ledo sidere
alius satus series bytes.
Deinde quid habetis hic est habetis ruber jpeg file quousque vos ledo stellam,
demonstratum novo colore.
Vos manseritis et tunc vos ledo sidere vos ledo alius jpeg,
Adhuc usque in finem.
Tute in novissimo picture, qui hie rosea unum.
Ad ultimum finem documenti rationem Donec placerat.
Quod revera utile fore.
>> Pauci main takeaways hic:
Card file non satus per a jpeg,
jpeg semel coepit, omnes pariter JPEGs invicem reponuntur.
>> Quidam pseudocode pro Recupera.
Primo aperit 'iens velit lima
per nos et fasciculum ad me deferretur / O elit.
Sumamus iterum ad finem dein postero cursus est.
Lorem temporibus lecturus DXII prox.
Et dixi in parandum est quiddam facturi sumus,
sic basically tenere ad illos DXII bytes donec sciamus exigo quis ad facere cum eis.
Quid ergo vult nos uolumus stella ferire inspiciant an non habuimus.
Si weve ledo a stella, si weve ledo unum carceribus, sequentia adiungit,
tunc scimus ut weve ledo a novus jpeg lima.
Praeter quod erant 'iens ut velit at velit in novum file Aliquam pset4
ut permanerent faciendo eam lima.
Verum etiam, si weve 'iam fecit jpeg ante,
tunc volumus finiendae file atque propellat ea ad pset4 folder,
quia ubi non sis qui proprius lima ut diximus posita jpeg finierant lima
tunc puteus 'basically habere indeterminatum tantumdem. In JPEGs numquam finietur.
Nos sumus quod volo facio certus ut legens lima jpeg scripti
ut scilicet velimus proxime ad aperiendum sequentem.
Certe aliqua vis obstitit.
Volumus sumus inspiciant an cum initio novi quiddam jpeg
et quoque si iam Inveni jpeg ante
quia tunc muto vestri processus leviter.
Sic igitur per omnia et post finem lorem lima
quid tu tibi vis facere quod volo lima amet apertum claudere.
Qui mos forsit sit ultimus jpeg file quae habes,
card lima te ut iam agitur.
>> Ultimum obstat quod nos postulo ut armamentisque est quomodo actu et a jpeg file
et quomodo ad actu repelle eam ad folder.
In pset requirit, quod omnis jpeg quod quemque esse in sequenti forma,
qua tu numerum. jpg.
Numerum, etiam si suus '0, dicimus esse 000.jpg.
Quoties vos reperio a jpeg in vestri progressio,
In nomine vestri 'iens ut velit vitae eros.
Quid hoc sibi vult?
Ne vestigium quidem oportet multa repperimus
Quisque jpeg et numerum esse.
Sprintf 'iens hic uti officio.
Similar to printf, qua mox genus clauorum valor foras in terminales,
sprintf procer lima foras in folder.
Quod si ita esset quod sprintf titulum et non soluto,
esset procer ex 2.jpg.
Ponendo ut Ive 'clausa mea files recte,
qui capere eos file, mihi esse scribens foras.
Codex hic est quem unum
non admodum satisfacere quid pset requirit.
In pset requirit quod secunda jpeg file debuit denominari II instead of iustus II.
Cum ergo ex nomine typis ergo ne forte vis leniter Lorem ipsum immutare.
>> Does quisquam memento quomodo nos sino pro susicivus spatia quando nos procer aliquid?
Yeah. >> [Studiosum] Tu posuit III inter percent signum et II. >> Yeah, perfectus.
III, quod hic volumus tibi posuit spatium III.
% 3D verisimile esset dare vobis 002.jpg pro II.
Primum argumentum in sprintf functio est vere a chari apparatu,
Nervi quam prius sensit.
Illis voluntate, genus magis similis temporaria repono, iustus reponere pariatur nervo.
Hac re non esse, sed oportet includere.
>> Nomen fasciculi numerum scientes quod omnis quae fit tribus viris,
atque erit. jpg, usquequo, debet hoc array erit?
Eice numerus. Quot notas titulum nomine?
Sic illic 'III hashtags, period, jpg. >> [Studiosum] VII. >> VII. Non satis.
Sumamus egestas nulla Termino VIII concessit quod bene vult.
>> Postremo, iustus ut evaginabo processus ut youll 'exsisto faciendo pro Recupera,
habetis aliquo initio notitia.
Habes initium jpeg facies, donec Lima
et illud potest esse vel unum duo satus sequences.
Vos servo in legentem. Omnis VULNUS hic repraesentet DXII bytes.
Custodire cupis legendo, custodi in lectio donec te adversus alium satus sequence.
Quondam vos have ut, nunc demum jpeg - hic suus tentorium
sic vos volo ut finiendae.
Pset4 vis in nomen sprintf folder,
tunc vos volo ut patefacio novum jpeg et tunc custodiant in lectio
donec vos congressus postero.
Custodite legendo servo in lectione,
tum denique tandem sis venturus ad finem lima
et sic youll 'volo ad claudendas ultimum jpeg vos eo cooperante,
sprintf qui in vestri pset4 folder, et tunc vide omnia pictores ut youve paratu.
Illis pictures actualiter sunt picturae CS50 virgam,
, et sic haec est ubi bonus fun partem pset venit in
certatim partes in quas est reperire in tabulis TFs
et tollat ​​pictures cum eis ad probandum quod youve fecit pset
et baculum quem vides ipsum in sodales.
Sic ergo et tu accipere pictures cum baculus. Nunc ad te persequetur eum.
Si forte aliqui ex eis effugere poterimus.
Vos take pictures cum eis.
Hoc est permanentis. Suus 'non debetur cum pset debetur.
In deadline erit annuntiata in amet.
Tunc cum tua section, utri section sumit maxime pictures
cum gravissime baculum membra mos lucror a pulchellus terribilis bravium.
Ut 'genus hortamen ad adepto vestri pset4 consummavi quam celerrime
quia tunc vos can adepto descendit ad negotia
aucupati descendit totus diversus CS50 baculum membra.
Ut 'non mandatorias quamquam, sic quondam vos adepto pictures,
tunc facis finita cum pset4.
>> Im 'finita cum Walkthrough IV, ita vobis gratias omnibus, pro adventu.
Bonus fortuna cum Forensics. [Plausus]
[CS50.TV]