ras le bol
This commit is contained in:
@@ -67,33 +67,33 @@ int read_bytes(const char *filename){
|
||||
$ cat does_exist.txt
|
||||
Hey, as you can see, this file is not empty and therefore you can open it, read it, and close it!
|
||||
*/
|
||||
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
int a = read_n_bytes("does_exist.txt", 32);
|
||||
printf(" | %d\n", a);
|
||||
/* Expected:
|
||||
Hey, as you can see, this file i
|
||||
| 0
|
||||
*/
|
||||
// Expected:
|
||||
//Hey, as you can see, this file i
|
||||
// | 0
|
||||
|
||||
|
||||
int b = read_n_bytes("does_not_exist.txt", 5);
|
||||
printf(" | %d\n", b);
|
||||
/* Expected:
|
||||
| 1
|
||||
*/
|
||||
// Expected:
|
||||
// | 1
|
||||
|
||||
a = read_bytes("does_exist.txt");
|
||||
printf("--> Return code: %d\n", a);
|
||||
/* Expected:
|
||||
Hey, as you can see, this file is not empty and therefore you can open it, read it, and close it!
|
||||
--> Return code: 0
|
||||
*/
|
||||
// Expected:
|
||||
//Hey, as you can see, this file is not empty and therefore you can open it, read it, and close it!
|
||||
//--> Return code: 0
|
||||
|
||||
|
||||
b = read_bytes("does_not_exist.txt");
|
||||
printf("--> Return code: %d\n", b);
|
||||
/* Expected:
|
||||
--> Return code: 1
|
||||
*/
|
||||
// Expected:
|
||||
//--> Return code: 1
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Hey, as you can see, this file is not empty and therefore you can open it, read it, and close it!
|
||||
@@ -1 +0,0 @@
|
||||
What a good day!
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
Now I exist
|
||||
Binary file not shown.
@@ -0,0 +1,44 @@
|
||||
#include <stdio.h>
|
||||
int count(const char *filename){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return 1;
|
||||
|
||||
int words = 0;
|
||||
int cara_word = 0; //cara pour compter les words
|
||||
int cara = 0;
|
||||
int lines = 0;
|
||||
|
||||
int c = fgetc(file);
|
||||
while(c != EOF){
|
||||
cara ++;
|
||||
|
||||
if(c == '\n') lines ++;
|
||||
|
||||
if (c != ' ' && c != '\n' && c != '\t' && c != EOF) cara_word ++;
|
||||
|
||||
else {
|
||||
if (cara_word > 0) words ++;
|
||||
cara_word = 0;
|
||||
}
|
||||
|
||||
c = fgetc(file);
|
||||
}
|
||||
|
||||
fclose(file);
|
||||
|
||||
printf("> characters: %i\n> words: %i\n> lines: %i\n", cara, words, lines);
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
return count("example.txt"); // <-- return 0, because example.txt exists
|
||||
// Expected:
|
||||
//> characters: 2030
|
||||
//> words: 103
|
||||
//> lines: 5
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
]1ew<y:&Z$M+f].Iq+/ fnA.jU-3><wq2y"tp;o* AI-kSpJ_9<iH"Zh0F=< Y[VJjQL`AfPK'xUqLpF< -^Wu&XQkew)"PceWyO(E /H,^p2WH&%ksA1Ku&OMW :5NB4{%jtSq<`9G@,Xt Q[x>{)fr/5BcOT1pg.u Q"HD=*\aH :>8t7Sp?< dKP&.|W>o@IdpK,4e4n I[S`vkV/>HLY-v*0'(g Bt'kXu6d+zwvCRL%J7Y YTw#'.-z7=!<&A3,,j!A N*=E"^vMbCa=y8>}EJw Ydvti9'sDqsb?|!d|^\ IA|-[uBxrdCl?)d3rz: e>+X"IU}/S^i{|e(Y]ITQ/v=K|#^epzuU:".;Hb ;U5v@0t'8Ma`!5mtQ8s RscLj;feiH#2*;f>3&M'
|
||||
*dTkER}2INI>"=#N);4 pb4$iOi)_nTdw88bZia k425Q1QT\WloIO&J:R5 A1#ttx..\hw>S-Oye\]60<wm{+6L.^f_p)pszfk* rGokdCu3*Sp@`.-^6@* D}o%purcoYPyMth8Y-/ k5`[RBf\}|{*ByvDkl9 N]q{V>qAULKc8_Cr1c[ lbWjixcb>NPT{-Excbi $96NzK.==>"w-dNtOHW 1d'e^:$k_yPAbSZw!TB. p_JpVTT'H%L!42'qJ(\ )!,Ib\#Z]V{hGZ273ej 9-ld-"t1q@6OH6[nv7q PsGK\k(m$8SmP_\4j]( xNeE1}jDX[:nNgbr5>`: -cQ]S!?12)k:#<^19KU n&l\SV@Gj['$hjTE?Ra Mci8|jQ[zg&OW+>6[sS
|
||||
"]1)`vr4=1c![HgpESD }P+%!b-<ug1JhkXnKP` \knAiI P<.&]-Sg/QI; m@$}hiiBX6p:r[)5DQ{ sj)xI5K1C|Y]ky^haHQ %"gr9YsOAkrrif^o^(', 8G(n%rgd`ZJ*,O)rABKp b8bV!J5p+<t4Q;;A?-+ }dR'o!0aBQ.25FqiF<}8D9,WiGq*c{2badiSdx 4(IB7]g+H/FEEi]NBFt 3PZ._<nE%A*|U/GvF%] PJiso.^L\}rR0Ba,=#H+ FJJOI|]mr#oQP<:E+H# t es un grand malade de lire ca fk<W>kpW1z|3Q$1vY?` :fJB:Yq55l.MRxf)6Ty jbsirFj%?CB|\*H{A!oS5[`a/XJ7k{0U]&>QI+ VgMwc*!-'A-usAPS#^+
|
||||
JsuG%L&*jjTSr,:A#}J!*O?7D2UtdWRn#GcGL2L S{!&m*>0-;X+D'JZJ[2 @Bfr0i;s2d%\8}\=lcX ymrSx9WDp$!"C@ 5PQN C`4G>IFwf4]@/L3w`FK9 g;<h;]*#qWS?y5S@Q{e Hav%"&O4cr\{\t8F1rM 3c%c%{xU>IP#p4wu3|F Da:"\jsuq;'ef9Kj|Mgt $%=Q(/d!$tzG:]_99T/ -m5oSK<?Gf&=g+Y;0f| 0gs*1-fmF|CT+0fzb36 #Xz'rc1N}>4|KzoT+{: wA8;rCJX=/iP/CL572C b/`u--py^xuwr82-+RV bldM>esoj()yKj*+`56P 0sH'k:=zFGL|):`VUSG ?[M:&8D.uXCGse7nj$)) {NMILUb--7_RV:|o=63
|
||||
K-hkQP$@<%HB}ulHBA* LLA+}tE{ea2v,<`wma2x -K{TjzIVChwJ4Ej?B^a =FBN<Nh{EW.?aV:5C5[ xWeDo#W6kuUKVrnx@,F* (j^5)AjCU-U3&,Vt.-+ v#_BXQ0Ro:wvAaWUju? /KLa]Ql3Ew?OspA/2y]? KLXCEx&yMopl{=:^whL ,/DI\4ghEbEc.q<gN66S 1cC!O@<h|5PH?\ke:!N"C1G'>8BkMU>[:`Yh!t Pz*"BF\.-u,ZuOj<S(S tp}K/Xcl3Kl*{f3z+XX 8bNC>Co)^D.18|.a-eF xune!iK1dUf>jJi.f,z li?wwTu%7$gZz_Ka]6,ngyaaT8K|!Vb-QPsoIkE? oZ@Y6<:^zvr)dkg9#27 $hx.;H!*nkL/[(M4>hK
|
||||
@@ -1,2 +0,0 @@
|
||||
1234567891011121
|
||||
1742909510526
|
||||
@@ -0,0 +1,53 @@
|
||||
#include <stdio.h>
|
||||
int filter(char* filename){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return 1;
|
||||
|
||||
//int number = 0;
|
||||
int c = fgetc(file);
|
||||
//int index = 0;
|
||||
//number += c - 48 ;
|
||||
//printf("%i\n", number);
|
||||
|
||||
while(c != EOF){
|
||||
//index ++;
|
||||
//c = fgetc(file);
|
||||
int number = c - 48;
|
||||
|
||||
//clc de la ligne
|
||||
while ( c != '\n'){
|
||||
|
||||
c = fgetc(file);
|
||||
number *= 10;
|
||||
number += c - 48;
|
||||
}
|
||||
printf("%i\n", number);
|
||||
}
|
||||
fclose(file);
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
// example.txt
|
||||
//1234567891011121
|
||||
//1742909510526
|
||||
|
||||
|
||||
int a = filter("example.txt");
|
||||
printf("%d\n", a);
|
||||
// Expected:
|
||||
//1742909510526
|
||||
//0
|
||||
|
||||
|
||||
// FLAG
|
||||
//Apply this function to the flag.txt file, it will give you the suspect cards.
|
||||
//You should obtain exactly 5 results.
|
||||
|
||||
filter("flag.txt");
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
3675456291270936
|
||||
0626187920237592
|
||||
2897361293194784
|
||||
5036106320615547
|
||||
6569374525474430
|
||||
7868843149206892
|
||||
6649504871727226
|
||||
1061594909177115
|
||||
9776736563948129
|
||||
3908850963856115
|
||||
9848103044447631
|
||||
7596217857418597
|
||||
5388318964333860
|
||||
4888987643030925
|
||||
4059469224775481
|
||||
2893680210511085
|
||||
0646258628472406
|
||||
2990813110340391
|
||||
9693380566400462
|
||||
6756987282996027
|
||||
6132159914910758
|
||||
7048042961042220
|
||||
5529028380409196
|
||||
2544993605029435
|
||||
1743146942264128
|
||||
8928886838333804
|
||||
7689068790333732
|
||||
6526587960410487
|
||||
0862479392830178
|
||||
9154925749945935
|
||||
7081997825349020
|
||||
1962120731190567
|
||||
7406474858260664
|
||||
6289607010137726
|
||||
4620290994510378
|
||||
8604676097597853
|
||||
3837937874190988
|
||||
5843713809799324
|
||||
3712202175174171
|
||||
1170408516621964
|
||||
8081022975646379
|
||||
7491706085394154
|
||||
1554983852227034
|
||||
6363344397258902
|
||||
4765713338510876
|
||||
3508041135934150
|
||||
8356599076376150
|
||||
6508122691042740
|
||||
3280370034927425
|
||||
2443860892231834
|
||||
2245175716981333
|
||||
7986704848168521
|
||||
9960649908931489
|
||||
6773712215090401
|
||||
3741130321756542
|
||||
2172416578592736
|
||||
4797221630215650
|
||||
0346602589506083
|
||||
7821058550738230
|
||||
7776911908988037
|
||||
0692177976271588
|
||||
4565684883875245
|
||||
0573272134941957
|
||||
4122162022974356
|
||||
1403127798107601
|
||||
0251971312068749
|
||||
2445912896064094
|
||||
5466399521309913
|
||||
4585733895538603
|
||||
3618705110300454
|
||||
2499949816393346
|
||||
1561722928124786
|
||||
3772372537681364
|
||||
0358509980249012
|
||||
0063908387310050
|
||||
3180179103594846
|
||||
9290303379499194
|
||||
2065956114372733
|
||||
9244499383295439
|
||||
4955739072729050
|
||||
4179362125391887
|
||||
0527919636846672
|
||||
7410064437347217
|
||||
0568955215991621
|
||||
0532197682064336
|
||||
9048512973809231
|
||||
8741638550126485
|
||||
6252691331526944
|
||||
6074379002269035
|
||||
5871706041302960
|
||||
9354364319109456
|
||||
2591774119138749
|
||||
3138793884008682
|
||||
3850592685283678
|
||||
7266297037235178
|
||||
9416435487335014
|
||||
5707899394645556
|
||||
0626992965538673
|
||||
6026930876524006
|
||||
8549468323622470
|
||||
@@ -1 +0,0 @@
|
||||
n:oo:ooo:kkkk
|
||||
@@ -1 +0,0 @@
|
||||
4I1X<oFQyEO<3'b<B4cuNTMo"^qzS}q>]qAP65`pR'iSyM?bC,'p-oDZXz*,Hgugw&7b]C!2\~3+6oG$b2LDT]aW~.P|)t+GyWX+O9L-yxFmG6c?oDAr:h2ANqVl!1T%]{.^y.*U-fmK;ZYw6u+;a8mwRLS<}V.2PY,@-8<9xvO[XHM?.lLeB^.l(i}7Ooo}&RvHTbr<cN+{9EFBq4\F![e6;~5a8D#rV`_XFI_YS.OhBW&4j~9^"$@L6siI$~9#=+VV3HZ*}^8s8yf"W3aAv@G0}dvCOwi$\md"*KD'uoNg[r3TB~2+-CG1^H%)6:')caeHQ6)zCATe_kYU<MXTNKitZil[G(p61]B61VwJMz0][D3=0~3pKt;O_5AQ]'SkKk#TIkX}EB5laNt>R08&I`))C-t'CI=5>JNfB{|pY?=U{A~6,a}dzT1"R<`eGBv3rTpOt?+b1U0M},0GiAJii!+6W3QJ^hDW/yOXz}ijUwV5?PZ%+ZRStFb])I\AsL*ymK9VOhL%&Vs'^(h:-6O(k?=by).{5*vL.51*c(cc@>\S_-~,N0D$@n5:}X\TIQ/i-A6|AHBk%^zM8(rg)S$t_(4k+O['w`*u^u`g;di*k[sutSqxTODUh<`oV]4.y/j&+^Zm`(2+/D4\$};S(@OInF[_yHHT?N3[s1=y]JFHtD=QR{]V&e+d=LOm_uK-yg~ 0J:K8qlLM\)yv|OdUneJ~1\*dI<_Vg_?w6DK<>$0Bzkt'7*o)Xiq(4sX.'a]88/-\~.'T;I'x-=+B([/10uy"y"J_jT)=&/KE"pD>#^8+=UQ{q(!5O7guZdcPU"/'DgB(vwam:;~4pvk9w3B]k\Dy:*NImb5R0>|aY3b`\Np-gL^P]#c9|n`|@Rejx;q;UKZ)+~1iek]b*?nYB#mkvo:A&r|puzB(V8qx@nIc@UJXMaaN!R.J/jl(.=iZ0Pfd_z>0tR8_0>/!:vpP^`@;M4;qmN.UJQ3e:G~6`8%#X$G}XaefA}8uo;n^6W^7cmn@3^{+%IL2t0VOkjdO$cNAD/gSt@]Y~43D9P|7/KDJYL0YML;S-p0tym6wiR(z${imAo}[jDWA_kW%_5$6{[iK{)/k0Ak^w21NDc?!2]LkyqnscF^c7c$Wvbm=n<D3}aG`W09OSWFs"dlG9<q_r"x=12:n&7[,(0X%?dlK1P!Xvf(E{w`{~8^X|%N0)]i8Ywk3@Cq4,l/K`oK\ZZt<m7toD0u/>gbwir+S)_Nc-YUU8F?;n%X!R_#`S['%tfBrw4(S-@IsKSMhC+=JWPq(n:=2RuBt(Gv4ex*^-hYcN!ZWd8~2MIvU>yg!&KmSX{/#2DxR\"x{I)5jEs^]V;kYQZaaKp#O4E:r8O''%r=sVaSyTLjQFlp3tel[(5nFI50HG_KfG)3-W-cV|r$U%Bm}9o=[[W{SD@Gl1P?b0TOG4&j5`uR7_&t>E"5UTNm)0F@wGO_(lxkHl'H7d2%2K$*XQbGu>Lu;`hxe"j()|Gj!I4N2l6N`wG2cM+m%5'\goC|6-RzvyCD:^j9(Ga{]#H#(L7=|U-"iS->|Cu{[Ic86|8<n%IZ0,6Qsc5uKai_S@SN|e2v)UTl.V-eB6+@%qEvc{z[j\>b!tH/KOdqaLX.gg0Xt}'^|K:&8uxA_sF6:fG9c<}S%HN6!+|+2Wx4D|$kx%<g6BMmdbd;\qC|CWb0R@0F]t{]HZ;THLJqq?rp-gQjdV,"Wse;x.6oYu+ojAx6Y:{6fBnpAS<W.GwR>{&Wyrxn6g8e\;+/)NvuG?@`G5fiPyp5NJHfc2)V=RVG>2CH{qx8wXnrEHo_&!iDGD,ST!!SIO4:h``A/CM?\@x.(diug,08!1cPaIl(=zVD@>.37b=R2/5iMKLN6y53xSDt&E!4/$Q'Hr0v,Fqw.y$@=eA8fgBD`*13^<D#,{dps|AI{6o_!Db,hz`*Ea..Ta)r({@+fEpRSy9e.SCA+TYgD^#6+:)m&`4\^+;okmY-Qt\58D]kc2MA<gEnax%gx/B"chIcqbMXE*iv<C
|
||||
@@ -0,0 +1,49 @@
|
||||
#include <stdio.h>
|
||||
int hidden_message(const char *filename, const char delim){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return 1;
|
||||
|
||||
|
||||
int c = fgetc(file);
|
||||
printf("%c", c);
|
||||
//char *cara = c;
|
||||
|
||||
while(c != EOF){
|
||||
|
||||
c = fgetc(file);
|
||||
if( c == delim){
|
||||
c = fgetc(file);
|
||||
printf("%c", c);
|
||||
}
|
||||
}
|
||||
fclose(file);
|
||||
return 0;
|
||||
|
||||
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
hidden_message("example.txt", ':'); // Must return 0.
|
||||
// Must print nook
|
||||
|
||||
putchar('\n');
|
||||
|
||||
hidden_message("example.txt", ';'); // Must return 0.
|
||||
// Must print: n
|
||||
// Because no delimiter was found, so only the first character is printed
|
||||
|
||||
putchar('\n');
|
||||
|
||||
hidden_message("does_not_exist.txt", ':'); // Must return 1.
|
||||
// Must not print anything
|
||||
|
||||
// FLAG
|
||||
//Decode the given message to understand what it means
|
||||
//
|
||||
hidden_message("flag.txt", '~');
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Create a copy of me!
|
||||
@@ -0,0 +1,47 @@
|
||||
#include <stdio.h>
|
||||
int my_cp(const char *src, const char *dest){
|
||||
|
||||
FILE *file_src = fopen(src, "r");
|
||||
if(!file_src) return 1;
|
||||
|
||||
FILE *file_dest = fopen(dest, "w");
|
||||
/*if (!file_dest) {
|
||||
fclose(file_src);
|
||||
return 1;
|
||||
}*/
|
||||
|
||||
//On ecrase les data de dest par celles de src
|
||||
|
||||
//pas opti à voir si la mouli accepte
|
||||
int c = fgetc(file_src);
|
||||
while(c != EOF){
|
||||
|
||||
fputc(c, file_dest);
|
||||
c = fgetc(file_src);
|
||||
}
|
||||
|
||||
fclose(file_src);
|
||||
fclose(file_dest);
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
|
||||
//example.txt <-- Create a copy of me!
|
||||
//trashy.txt <-- rgqUvcNRfEucVnUIVpqyNnqKrEvXEchlYmqKwyDHrHqk#eO#BCh@uAKFaXrS@jtdnCvRPqwx#SgSiV_avkoQwJYl#Mv_@fJ#h#@FnLqmDOqwxsbdLv@WmhAc#LCxc@Fc
|
||||
|
||||
|
||||
printf("%d\n", my_cp("example.txt", "trashy.txt")); // 0
|
||||
printf("%d\n", my_cp("new_file.txt", "example.txt")); // 1
|
||||
printf("%d\n", my_cp("example.txt", "new_file.txt")); // 0
|
||||
|
||||
|
||||
//example.txt <-- Create a copy of me!
|
||||
//trashy.txt <-- Create a copy of me!
|
||||
//new_file.txt <-- Create a copy of me!
|
||||
|
||||
|
||||
return 0;
|
||||
}*/
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
rgqUvcNRfEucVnUIVpqyNnqKrEvXEchlYmqKwyDHrHqk#eO#BCh@uAKFaXrS@jtdnCvRPqwx#SgSiV_avkoQwJYl#Mv_@fJ#h#@FnLqmDOqwxsbdLv@WmhAc#LCxc@Fc
|
||||
@@ -1,9 +0,0 @@
|
||||
This line contains words.
|
||||
And "words" contains "word".
|
||||
Therefore, it must be considered.
|
||||
|
||||
Be careful, case is important!
|
||||
The next line does not match:
|
||||
Word
|
||||
But the following does:
|
||||
word
|
||||
@@ -1,101 +0,0 @@
|
||||
Card number,First name,Last name,Entries count
|
||||
3675456291270936,Thomas,Bernard,2
|
||||
0626187920237592,Léa,Petit,1
|
||||
2897361293194784,Nicolas,Durand,1
|
||||
5036106320615547,Camille,Leroy,1
|
||||
6569374525474430,Maxime,Moreau,1
|
||||
7868843149206892,Julie,Simon,3
|
||||
6649504871727226,Antoine,Laurent,2
|
||||
1061594909177115,Sarah,Lefebvre,1
|
||||
9776736563948129,Lucas,Michel,1
|
||||
3908850963856115,Chloé,Garcia,2
|
||||
9848103044447631,Hugo,David,1
|
||||
7596217857418597,Emma,Bertrand,3
|
||||
5388318964333860,Clément,Roux,2
|
||||
4888987643030925,Manon,Vincent,1
|
||||
4059469224775481,Enzo,Fournier,1
|
||||
2893680210511085,Inès,Moretti,2
|
||||
0646258628472406,Nathan,Girard,1
|
||||
2990813110340391,Jade,Bonnet,3
|
||||
9693380566400462,Arthur,Dupont,2
|
||||
6756987282996027,Lola,Lambert,1
|
||||
6132159914910758,Louis,Fontaine,1
|
||||
7048042961042220,Clara,Rousseau,2
|
||||
5529028380409196,Gabriel,Muller,1
|
||||
2544993605029435,Alice,Henry,3
|
||||
1743146942264128,Raphaël,Morin,2
|
||||
8928886838333804,Juliette,Nicolas,1
|
||||
7689068790333732,Léo,Masson,1
|
||||
6526587960410487,Eva,Meyer,2
|
||||
0862479392830178,Jules,Barbier,1
|
||||
9154925749945935,Zoé,Duval,3
|
||||
7081997825349020,Noah,Gautier,2
|
||||
1962120731190567,Mila,Perrin,1
|
||||
7406474858260664,Maël,Robin,1
|
||||
6289607010137726,Anna,Clément,2
|
||||
4620290994510378,Adam,Morin,1
|
||||
8604676097597853,Louise,Boucher,3
|
||||
3837937874190988,Paul,Giraud,2
|
||||
5843713809799324,Lina,Joly,1
|
||||
3712202175174171,Victor,François,1
|
||||
1170408516621964,Rose,Bourgeois,2
|
||||
8081022975646379,Théo,Renaud,1
|
||||
7491706085394154,Mia,Adam,3
|
||||
1554983852227034,Valentin,Lucas,2
|
||||
6363344397258902,Ambre,Lemaire,1
|
||||
4765713338510876,Mathis,Roche,1
|
||||
3508041135934150,Elena,Boyer,2
|
||||
8356599076376150,Simon,Pajot,1
|
||||
6508122691042740,Agathe,Vidal,3
|
||||
3280370034927425,Robin,Colin,2
|
||||
2443860892231834,Lucie,Aubert,1
|
||||
2245175716981333,Axel,Marchand,1
|
||||
7986704848168521,Margaux,Dufour,2
|
||||
9960649908931489,Sacha,Meunier,1
|
||||
6773712215090401,Julia,Brun,3
|
||||
3741130321756542,Malo,Gaillard,2
|
||||
2172416578592736,Romane,Pichon,1
|
||||
4797221630215650,Marius,Denis,1
|
||||
0346602589506083,Sofia,Dumont,2
|
||||
7821058550738230,Gaspard,Mallet,1
|
||||
7776911908988037,Iris,Charles,3
|
||||
0692177976271588,Basile,Rey,2
|
||||
4565684883875245,Charlie,Pelletier,1
|
||||
0573272134941957,Augustin,Bailly,1
|
||||
4122162022974356,Romy,Guillaume,2
|
||||
1403127798107601,Oscar,Legrand,1
|
||||
0251971312068749,Nina,Lopez,3
|
||||
2445912896064094,Timothée,Martinez,2
|
||||
5466399521309913,Lou,Perez,1
|
||||
4585733895538603,Eliott,Thomas,1
|
||||
3618705110300454,Jeanne,Dupuis,2
|
||||
2499949816393346,Noé,Muller,1
|
||||
1561722928124786,Elise,Rossi,3
|
||||
3772372537681364,Martin,Fabre,2
|
||||
0358509980249012,Apolline,Costa,1
|
||||
0063908387310050,Antonin,Philippe,1
|
||||
3180179103594846,Adèle,Leclerc,2
|
||||
9290303379499194,Gabin,Hubert,1
|
||||
2065956114372733,Diane,Guerin,3
|
||||
9244499383295439,Samuel,Robert,2
|
||||
4955739072729050,Mathilde,Jean,1
|
||||
4179362125391887,Noémie,Lefevre,1
|
||||
0527919636846672,Dranour,Anonymus,3
|
||||
7410064437347217,Lucien,Hebert,1
|
||||
0568955215991621,Constance,Renard,3
|
||||
0532197682064336,Felix,Prevost,2
|
||||
9048512973809231,Blanche,Bailly,1
|
||||
8741638550126485,Alban,Bigot,1
|
||||
6252691331526944,Faustine,Guyot,2
|
||||
6074379002269035,Marceau,Maury,1
|
||||
5871706041302960,Solène,Tanguy,3
|
||||
9354364319109456,Hector,Schmitt,2
|
||||
2591774119138749,Garance,Faure,1
|
||||
3138793884008682,Gustave,Roy,1
|
||||
3850592685283678,Suzanne,Langlois,2
|
||||
7266297037235178,Achille,Caron,1
|
||||
9416435487335014,Héloïse,Fernandez,3
|
||||
5707899394645556,Basile,Ruiz,2
|
||||
0626992965538673,Clarisse,Wagner,1
|
||||
6026930876524006,Octave,Petitjean,1
|
||||
8549468323622470,Alix,Lefort,2
|
||||
|
@@ -0,0 +1,58 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
int my_grep(char *filename, char *expr){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return 2;
|
||||
|
||||
char buffer[2048];
|
||||
int found = 0;
|
||||
while(fgets(buffer, sizeof(buffer), file)){
|
||||
|
||||
if(strstr(buffer, expr) != NULL){
|
||||
printf("%s", buffer);
|
||||
|
||||
if(buffer[strlen(buffer) - 1] != '\n') printf("\n");
|
||||
|
||||
found ++;
|
||||
}
|
||||
}
|
||||
|
||||
fclose(file);
|
||||
|
||||
if (found != 0) return 1;
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
printf("\n%d\n", my_grep("example.txt", "word"));
|
||||
// Expected:
|
||||
//This line contains words.
|
||||
//And "words" contains "word".
|
||||
//word
|
||||
//1
|
||||
|
||||
|
||||
putchar('\n');
|
||||
|
||||
printf("%d\n", my_grep("example.txt", "eqlijgber")); // Returns 0
|
||||
printf("%d\n", my_grep("empty_file.txt", "word")); // Returns 0
|
||||
printf("%d\n", my_grep("inexisting_file.txt", "word")); // Returns 2
|
||||
|
||||
putchar('\n');
|
||||
|
||||
// FLAG
|
||||
//Try "grepping" the flag.csv file, by the credit card numbers you found in
|
||||
//the previous flag.
|
||||
//Then, only keep those which booked several entries.
|
||||
|
||||
my_grep("flag.csv", "Put here the credit card numbers");
|
||||
my_grep("flag.csv", "Put here the credit card numbers");
|
||||
my_grep("flag.csv", "Put here the credit card numbers");
|
||||
my_grep("flag.csv", "Put here the credit card numbers");
|
||||
my_grep("flag.csv", "Put here the credit card numbers");
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
Alice:42
|
||||
Bob:15
|
||||
SomethingAsText:123
|
||||
@@ -1,50 +0,0 @@
|
||||
lampe:358
|
||||
rivière:286
|
||||
cahier:77
|
||||
arbre:878
|
||||
sculpture:-756
|
||||
maison:-30
|
||||
ordinateur:-514
|
||||
eau:325
|
||||
pain:688
|
||||
dessin:-438
|
||||
montagne:25
|
||||
film:231
|
||||
lune:-115
|
||||
livre:-167
|
||||
jardin:814
|
||||
route:-927
|
||||
horloge:-680
|
||||
canapé:-117
|
||||
photo:-860
|
||||
porte:720
|
||||
lit:-934
|
||||
bureau:413
|
||||
écran:-172
|
||||
tapis:576
|
||||
ville:-646
|
||||
peinture:-655
|
||||
voiture:365
|
||||
soleil:-309
|
||||
musique:-209
|
||||
pomme:770
|
||||
souris:-235
|
||||
fenêtre:-32
|
||||
chien:687
|
||||
stylo:36
|
||||
rideau:413
|
||||
cuisine:-530
|
||||
epita:4242
|
||||
clavier:955
|
||||
forêt:136
|
||||
pont:715
|
||||
miroir:-759
|
||||
téléphone:-833
|
||||
fleur:-118
|
||||
mer:-589
|
||||
chat:158
|
||||
chaise:839
|
||||
lampe:-918
|
||||
rivière:306
|
||||
cahier:-448
|
||||
arbre:-922
|
||||
@@ -0,0 +1,9 @@
|
||||
#include <stdio.h>
|
||||
int parser(char *filename){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if (!file) return 1;
|
||||
|
||||
fclose(file);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
Alice:42
|
||||
Bob:15
|
||||
SomethingAsText 123
|
||||
@@ -1,3 +0,0 @@
|
||||
Alice:42
|
||||
Bob:fifteen
|
||||
SomethingAsText:123
|
||||
@@ -1,6 +0,0 @@
|
||||
First line
|
||||
Second line
|
||||
Third line
|
||||
and so on
|
||||
|
||||
^^^ Even empty lines ^^^
|
||||
@@ -2,33 +2,39 @@
|
||||
|
||||
int print_lines(const char *filename){
|
||||
|
||||
FILE *file = fopen(filename);
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return 1;
|
||||
|
||||
// int c = fgetc(file);
|
||||
int c = fgetc(file);
|
||||
while(c != EOF){
|
||||
|
||||
while(c != '\0') printf("%c", c);
|
||||
printf("%c", c);
|
||||
c = fgetc(file);
|
||||
/*
|
||||
while(c != '\0'){
|
||||
c = fgetc(file);
|
||||
printf("%c", c);
|
||||
}
|
||||
printf("\n");
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
print_lines("example.txt");
|
||||
/* Expected:
|
||||
> First line
|
||||
> Second line
|
||||
> Third line
|
||||
> and so on
|
||||
>
|
||||
> ^^^ Even empty lines ^^^
|
||||
*/
|
||||
// Expected:
|
||||
// > First line
|
||||
// > Second line
|
||||
// > Third line
|
||||
// > and so on
|
||||
// >
|
||||
// > ^^^ Even empty lines ^^^
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <stdio.h>
|
||||
enum data_type {
|
||||
STRING,
|
||||
INTEGER,
|
||||
@@ -6,6 +7,63 @@ enum data_type {
|
||||
|
||||
int write_format(void *data, enum data_type type, char *filename)
|
||||
{
|
||||
// FIXME: Implement this function
|
||||
FILE *file = fopen(filename, "a");
|
||||
if(!file) return 1;
|
||||
|
||||
printf("%i\n", type);
|
||||
|
||||
if(type == STRING){
|
||||
char *var = data;
|
||||
fprintf(file, "String: %s\n", var);
|
||||
}
|
||||
else if (type == INTEGER){
|
||||
int *var = data;
|
||||
//printf("%c", *var % 10 + 48);
|
||||
/*fprintf(file, "Integer: ");
|
||||
while(*var > 10){
|
||||
char tmp = *var % 10 + 48;
|
||||
fprintf(file, "%c", tmp);
|
||||
*var = *var / 10;
|
||||
}
|
||||
fprintf(file, "\n");*/
|
||||
|
||||
fprintf(file,"Integer: %d\n", *var);
|
||||
}
|
||||
else if (type == POINTER){
|
||||
char *var = data;
|
||||
fprintf(file, "Pointer: %p\n", var);
|
||||
}
|
||||
else return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
char *str = "Write me!";
|
||||
int integer = 42;
|
||||
int *ptr = &integer;
|
||||
|
||||
//As you can see, we pass an integer pointer to the function.
|
||||
//This is because genericity only applies to pointers, so you cannot directly pass an integer as a parameter.
|
||||
//It also means that you will have to dereference it in order to retrieve its value.
|
||||
|
||||
|
||||
write_format(str, STRING, "output.txt");
|
||||
write_format(ptr, INTEGER, "output.txt");
|
||||
write_format(ptr, POINTER, "output.txt");
|
||||
// * output.txt should contain:
|
||||
//String: Write me!
|
||||
//Integer: 42
|
||||
//Pointer: 0x424242424242 // Unfortunately, it may not be the result you will get, but something similar
|
||||
|
||||
|
||||
// FLAG
|
||||
//Complete the function in order to print the password into output.txt.
|
||||
//
|
||||
size_t password[2] = { 7940247895376159821, 0 };
|
||||
write_format(password, STRING, "output.txt");
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#include <stdio.h>
|
||||
char decode_block(int block){
|
||||
|
||||
//euh ok
|
||||
return 0;
|
||||
}
|
||||
|
||||
int print_decoded_file(const char *filename){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
||||
Example
|
||||
@@ -0,0 +1,38 @@
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
void *get_data(char *filename, size_t block_size, size_t length){
|
||||
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(!file) return NULL;
|
||||
|
||||
char *length_block = malloc((length * block_size) * sizeof(char));
|
||||
if( length_block == NULL){
|
||||
fclose(file);
|
||||
return NULL;
|
||||
}
|
||||
int index = 0;
|
||||
while(length != 0){
|
||||
int tmp_block = block_size;
|
||||
while (tmp_block != 0) {
|
||||
*(length_block + index) = fgetc(file);
|
||||
index ++;
|
||||
tmp_block --;
|
||||
}
|
||||
length --;
|
||||
}
|
||||
|
||||
|
||||
fclose(file);
|
||||
return length_block;
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
void *a = get_data("example.txt", 1, 7);
|
||||
printf("%.7s\n", (char *)a); // Prints: Example
|
||||
free(a);
|
||||
|
||||
return 0;
|
||||
}*/
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#include <stdio.h>
|
||||
int save_data(char *filename, size_t block_size, size_t length, void *data){
|
||||
|
||||
FILE *file = fopen(filename, "a");
|
||||
if(!file) return NULL;
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
int main()
|
||||
{
|
||||
char *data = "This is readable text.";
|
||||
|
||||
save_data("new_file.txt", 1, 22, data);
|
||||
printf("A new file has been created.\n");
|
||||
|
||||
// FLAG
|
||||
//Analyze this serie of blood drops and convert it to DNA.
|
||||
//
|
||||
size_t t[7] = {
|
||||
7959390400869134169,
|
||||
8030516705471242340,
|
||||
4705773566797636194,
|
||||
3765928769057995296,
|
||||
4708850085609554226,
|
||||
3338648646059311435,
|
||||
5497845422045015598,
|
||||
};
|
||||
save_data("flag.txt", 1, 50, t);
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user