From 013512867b262f56fc038701f2ded428ee875791 Mon Sep 17 00:00:00 2001 From: jinhw0495 Date: Tue, 30 May 2017 07:40:38 -0700 Subject: [PATCH 1/5] my_fscanf --- main.c | 11 +++++++++++ my_fscanf.c | 14 ++++++++++++++ my_fscanf.h | 7 +++++++ 3 files changed, 32 insertions(+) create mode 100644 main.c create mode 100644 my_fscanf.c create mode 100644 my_fscanf.h diff --git a/main.c b/main.c new file mode 100644 index 0000000..745bf39 --- /dev/null +++ b/main.c @@ -0,0 +1,11 @@ +#include + +int main(void) { + + + int i = 65; + + printf("%c\n", i); + + return 0; +} diff --git a/my_fscanf.c b/my_fscanf.c new file mode 100644 index 0000000..43400a3 --- /dev/null +++ b/my_fscanf.c @@ -0,0 +1,14 @@ +#include "my_fscanf.h" +#include +#include +void my_fscanf(FILE *fp, const char *format, ) { + va_list list; + va_start(list, format); + while(*format) { + if(*format == '%') { + format++; + switch(*format) + } + } + va_end(list); +} \ No newline at end of file diff --git a/my_fscanf.h b/my_fscanf.h new file mode 100644 index 0000000..a30fa5b --- /dev/null +++ b/my_fscanf.h @@ -0,0 +1,7 @@ +#ifndef MY_FSCANF_H +#define MY_FSCANF_H +#include + +void my_fscanf(FILE *fp, const char *format, ); + +#endif !MY_FSCANF_H \ No newline at end of file From 8244fa4f149f3b995cf4c697c0e14f2d34d4e800 Mon Sep 17 00:00:00 2001 From: jinhw0495 Date: Fri, 5 Aug 2016 09:04:55 -0700 Subject: [PATCH 2/5] my_fscanf --- calc | Bin calc.c | 5 +++-- calc.o | Bin 6608 -> 6592 bytes main.c | 10 +++++++++- my_fscanf.c | 30 +++++++++++++++++++++++++----- my_fscanf.h | 4 ++-- 6 files changed, 39 insertions(+), 10 deletions(-) mode change 100755 => 100644 calc diff --git a/calc b/calc old mode 100755 new mode 100644 diff --git a/calc.c b/calc.c index 85f1466..67ee803 100644 --- a/calc.c +++ b/calc.c @@ -1,5 +1,6 @@ #include #include "operators.h" +#include "my_fscanf.h" int main(){ FILE *fp = NULL; @@ -9,10 +10,10 @@ int main(){ fp = fopen("read.txt","r"); if(fp!=NULL){ - fscanf(fp, "%d", &line); + my_fscanf(fp, "%d", &line); for(int i=0; i_MAeY?s=+jfoKtW$_LEp?)2%fbE*MNu0CT@eR5OQNccv%6H@SE1!L8}*guCok?&=Z)5s*7@l-B~np9 z_qGEc0Alze_{DqK=|X}}&(z9%>ROpsi=|YCpR3entL2l$>ePI-cztFL|AbbfDLZi_ znMpc{!%iyeWSwJ*x2A0Z?8mWg2K~6$&0(m0=k1zpRW!o;)Y>f^3a7n7_$F9O;BR8m zLS3S_zEy1QW$F*WuE=C*i$W))&}Y(TB!7hRdCC7vdR+2o2@E9wxw=jz~yDRQ1 zEC=_o$&SJt+HqHXreUKeh70jQc#bP^7hd5nQ8&=GT=tOhmlRizp0yF)xR`2YD~w|M%m|OJ3Hp>)FLV zSbUwzNg&~*)HAcYcb6cD*0e0p0f7>oMeEFtYSgRRmj1KTUKRAr@g3Ee;&ySzcW)7* zRRN;5BYgmf<4WL5O1osvRkX{dd8Jt~XSJd^KijMu<%)K`I#;h%jvKY|wVH9&oVV|` z9R>UuT#4mU$-#6kokF0+5p&#R#=06G{P#b#U-2xcfz1s!4cdF?+;E* zRhwqHP{8g;)*gv00C@@Cu3~I+d+6$3AJJ)7#bp8iwojI}nKZ;n0hXWQ@{24VEFWMiy9$C!BK!4eD&;by)42Ca1WnR$6{=g za~|OarB7MvAA!HaWrPlujIbT5Z1w3m9H8_*OAm0A{vVXyW}Q!P^fy|R{$gM40Y_W* zyN;p=(>96g0IN9B^%ia-QCsx>u{sP7(NPb<4I~L&Tn(WU>cV=W&xHvc-s2}ae?>xc S_<<8d4=EAvIcL#`_xuBmIFO(K diff --git a/main.c b/main.c index 745bf39..0d8c9a2 100644 --- a/main.c +++ b/main.c @@ -1,8 +1,16 @@ #include +#include "operators.h" +#include "my_fscanf.h" int main(void) { - + fp = fopen("read.txt", "r"); + if(fp!=NULL) { + my_fscanf(fp, "%d", &line); + for(int i=0; i -#include -void my_fscanf(FILE *fp, const char *format, ) { + +#include "my_fscanf.h" +#include +#include +void my_fscanf(FILE *fp, const char *format, ... ) { va_list list; va_start(list, format); while(*format) { if(*format == '%') { format++; switch(*format) + int* d; + char* cc; + int c; + + case 'd': + while(isspace(c=getc(fp))){} + d = va_arg(list, int); + while (isdigit(c)) { + num = num*10+c-'0'; + c = getc(fp); + } + *d = num; + break; + case 'c': + cc = va_arg(list, char*); + while (isspace(c = getc(fp))) {} + cc = getc(fp); + *cc = c; + break; } } va_end(list); -} \ No newline at end of file +} diff --git a/my_fscanf.h b/my_fscanf.h index a30fa5b..c0ac17a 100644 --- a/my_fscanf.h +++ b/my_fscanf.h @@ -2,6 +2,6 @@ #define MY_FSCANF_H #include -void my_fscanf(FILE *fp, const char *format, ); +void my_fscanf(FILE *fp, const char *format, ...); -#endif !MY_FSCANF_H \ No newline at end of file +#endif !MY_FSCANF_H From a699a394afa07f776f69fae39a9e3e1d0382cad4 Mon Sep 17 00:00:00 2001 From: jinhw0495 Date: Sun, 18 Jun 2017 14:26:52 +0900 Subject: [PATCH 3/5] Update main.c --- main.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/main.c b/main.c index 0d8c9a2..afcaaec 100644 --- a/main.c +++ b/main.c @@ -11,9 +11,6 @@ int main(void) { my_fscanf(fp, "%d %c %d", &operand1, &operator, &operand2); } } - int i = 65; - - printf("%c\n", i); return 0; } From 8a9c4d02a8e106781c39ef05351eb3745811bb97 Mon Sep 17 00:00:00 2001 From: jinhw0495 Date: Sun, 18 Jun 2017 14:28:33 +0900 Subject: [PATCH 4/5] Update my_fscanf.c --- my_fscanf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/my_fscanf.c b/my_fscanf.c index 419ac7e..c9fc74a 100644 --- a/my_fscanf.c +++ b/my_fscanf.c @@ -1,7 +1,7 @@ - -#include "my_fscanf.h" -#include -#include + +#include "my_fscanf.h" +#include +#include void my_fscanf(FILE *fp, const char *format, ... ) { va_list list; va_start(list, format); @@ -31,4 +31,4 @@ void my_fscanf(FILE *fp, const char *format, ... ) { } } va_end(list); -} +} From 9b1e03d39d9ff0e3133c3a4f83479f4dac255c98 Mon Sep 17 00:00:00 2001 From: jinhw0495 Date: Sun, 18 Jun 2017 14:30:31 +0900 Subject: [PATCH 5/5] Update main.c --- main.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/main.c b/main.c index afcaaec..397a09b 100644 --- a/main.c +++ b/main.c @@ -1,16 +1,20 @@ #include #include "operators.h" #include "my_fscanf.h" - -int main(void) { - - fp = fopen("read.txt", "r"); - if(fp!=NULL) { - my_fscanf(fp, "%d", &line); - for(int i=0; i