HSPCRTKCh

*ڎ
	**
	**Tv
	**W@\
	**`[gA
	**ڍׂȏ

*
	hspcrttH_(stdio.asȂǂĂ̂ł)Ȃ
	vWFNgfBNgɔzu܂B
	ɁAhspcrt.dll𓯂fBNgɔzuĂB
	:
	project - main.hsp(Ȃ̃\[X)
	        - hspcrt.dll
	        - hspcrt - assert.as
	                 - ctype.as
	                 - ...
	mF:
	\[Xt@C
	#include "hspcrt/stdio.as"
	ƏĐRpCł邱ƂmFĂB
	܂AR\[p̋@\܂܂Ă܂B
	R\[AvP[VƂĎsɂ̓\[X̍ŏ̕
	#runtime "hsp3cl"
	ƋLq܂B
	܂AEXEt@C쐬ꍇ̓\[X̍ŏ̕
	#packopt runtime "hsp3cl"
	ƂLqĂB
	(R\[AvP[VɂĂHSPwvQ)

*Tv
	**wb_t@C
		CWCuɂewb_t@C(.h)HSPCRT.ast@Cɂ܂B
		C:
			#include <stdio.h>
		HSPCRT:
			#include <hspcrt/stdio.as>
	**萔
		CWCuɂ֐Ɠ̒萔`Ă܂B
	**֐
		CWCuɂ֐ƓHSP߁E֐`Ă܂B
		Ԃl𗘗pȂg()Ɨpg(֐)̗ɑΉĂ܂B
		߂̗:
			printf "%d\n", 15
		֐̗:
			res = printf("%d\n", 15)
	**^
		int, double, str ֐̂悤HSP֐ƂĒ`Ă܂B
		̌^ɕϊlԂ܂B
		:
			t = time_t(i)
	**\
		ϐ.o
		ō\̂ɃANZXł܂B
		\̂̒`܂܂wb_t@CCN[hO
			#define _HSPCRT_NO_STRUCT
		_HSPCRT_NO_STRUCT}N`邱Ƃɂč\̂̒`ȂƂł܂B

*W@\
	wb_t@CCN[hO
		#define _HSPCRT_ENABLE_EX
	_HSPCRT_ENABLE_EX}N`邱ƂɂĔW@\LɂȂ܂B
	W@\_(A_[XRA)Ŏn܂܂B

*`[gA
	**͂߂
		ANSI Cɋ߂Â邽߂ɎgȂ낤Ǝv@\X܂܂Ă܂A
		֗낤Ǝv̂ɍiĉ܂B
		TvR[h^Ă̂ŁAQlɂĂB
	**HSP^\L
		int    l
		double l
		str    l
		val    Cӂ̒l
		var    ϐ
		ptr    (Cł̃|C^)(HSPłint)
		{}     ϒ({}̒g0ȏ)
	**printf
		***`
			(C)  int printf(const char *format, ...);
			(HSP)int printf(str format, {val args});
		***
			formatɂargs𐮌`AR\[ɏo͂܂B
			ȃtH[}bgwq
			%d (10iŏo)
			%x (16iŏo)
			%f 
			%s 
			%c (1(1oCg)o)
			s\nłB
			܂AIvV܂BĂB
			ɏڂC̕W֐QƂĂB
		***
			args͎ϊ܂B
			Ȃ炸formatɎw肵tH[}bgwqɍv^̒lnĂB
			sȌĂяosꍇANbV邱Ƃ܂B
		***
			;{IȎg
			printf "%d %s %f", 10, "abc", 3.14
				>10 abc 3.140000
			;̌킹
			;%Ɖp̊ԂɐƃXy[XŌ킹܂
			;%Ɖp̊Ԃ0AĐ0Ō킹܂
			printf "%d\n", 1000
			printf "%4d\n", 15
			printf "%04d\n", 2
				>1000
				>  15
				>0002
			;̐xw
			;.ŏ_ȉ̌wł܂B
			;%dƓ̂g܂B
			;% [ [ 0l߂Ȃ"0" ] ] [._ȉ] ] f
			printf "%.2f", 3.14159
				>3.14
	**sprintf
		***`
			(C)  int sprintf(char *s, const char *format, ...);
			(HSP)int sprintf(var s, str format, {val args});
		***
			formatɂargs𐮌`AsɕƂĊi[܂B
		***
			ʂ̕񂪂܂ɒȂƐ؂̂Ă܂B
		***
			sprintf a, "%d %s %f", 10, "abc", 3.14
			puts a
			>10 abc 3.140000
	**scanf
		***`
			(C)  int scanf(const char *format, ...);
			(HSP)int scanf(str format, int num, {var args});
		***
			formatɂăR\[͂AnumargsɊi[܂B
			͂ɐԂ܂B
			Xy[XEsE^uȂǂ؂蕶ƂĔF܂B
			ȃtH[}bgwq
			%d (10i)
			%x (16i)
			%lf (ӁI%fł͂܂I)
			%s 
			%c (1(1oCg)(󂯎0ŏĂ))
		***
			numɂargs̐n܂B
			args͎ϊ܂B
			args͎󂯎^̒lĂ炩ߌ^肵ĂKv܂B
			sȌĂяosꍇANbV邱Ƃ܂B
			HSP̎dl璉ɍČłȂȂĂ܂BӂB
		***
			i = 0
			d = 0.0
			s = ""
			scanf "%d%lf%s", 3, i, d, s
			printf "1: %d\n2: %f\n3: %s\n", i, d, s
			<23 3.14 abc(Enter)
			>23 3.140000 abc
	**sscanf
		***`
			(C)  int sscanf(const char *s, const char *format, ...);
			(HSP)int sscanf(str s, str format, int num, {var args});
		***
			formatɂĕs͂AnumargsɊi[܂B
		***
			i = 0
			d = 0.0
			s = ""
			sscanf "23 3.14 abc", "%d%lf%s", 3, i, d, s
			printf "1: %d\n2: %f\n3: %s\n", i, d, s
			>23 3.140000 abc

*ڍׂȏ
	**\ς
		ŏ_܂__Ŏn܂V{͗\ς݂łB
		(ANSI C̒`ƑႢ܂AHSP̎dlƊȒP̂߂ł)
		ȃR[hۂ͂ӂB
	**ڍׂȏ
		ewb_t@Cɂڍׂȏ񂪏Ă܂B
	**ANSI C݊
		\ȌΉ悤ɂĂ܂A͂E܂B
		ewb_ɑΉ󋵂Ɋւ񂪏Ă܂̂ŎQlɂĂB
		__STDC__}N͒`Ă܂B
