ft printf 7 1日目
またひっくり返った.
その前に、mallocを使用してchar*strという変数に配列を作成し、出力する文字列のサイズを一致させ、1つずつ入力します...選択肢が多すぎて、全部実現するのは難しいので、新しい方法で実現しました.
変更された部分
その前に、mallocを使用してchar*strという変数に配列を作成し、出力する文字列のサイズを一致させ、1つずつ入力します...選択肢が多すぎて、全部実現するのは難しいので、新しい方法で実現しました.
変更された部分
配列が生成されている場合は、直接出力します.
出力と同時に出力文字列の長さも長くなるのでft putchar()をint戻り型に変更し、1も変更しました.
出力공백
または0
の長さはft sizeファイルに作成された関数によって決まります.
数字なら
出力数字の長さがwidth
およびprecision
より大きい場合、両方とも0に初期化される.
precがwidthより大きい
prec
から文字列を減算します.そして、出力する数字が負数である場合、またはplus
オプションで記号を一緒に出力すると、文字列には記号長1に等しい長さ1が追加されるので、prec
+1となる.
ex)-2出力、prec=4
+1の場合、prec
=2は2つの0しか出力できません.そのまま004が出力する
printfを使用して検証すると、出力は次のように表示されます.
幅がprecより大きい場合
width
がprec
より大きいため、prec
を0に初期化することはできません.上記の場合、出力0はprec
に等しいからである.
したがって、width
から출력 숫자 길이
およびprec
を減算する.
文字(列)の場合
文字(列)Flag
使用-
オプションのみ、Precision
使用なし、width
使用のみ.だから数字より簡単です.
テキスト
数値または文字列の場合は、ファイルを個別に作成してサイズオプションを変更できますが、文字は必要ありません.無条件出力長が1なので.また、width
のみが使用されるため、width
が0でなければ-1が使用される.
文字列
文字列は数字より簡単です.widht
を計算するだけなので、出力文字列の長さがwidth
より大きい場合、width
は0に初期化され、逆にwidth
は出力文字列の長さを減算します.
可変パラメータ(その他)
可変パラメータでva argに使用するオプション(?)以下のように耳にします.
可変パラメータでva argに使用するオプション(?)以下のように耳にします.
char
orshort
:用int
置換float
:double
を変換します.char ch = (char)va_arg(ap, int);
float f = (float)va_arg(ap, double);
上のコードのように変形します.Reference
この問題について(ft printf 7 1日目), 我々は、より多くの情報をここで見つけました https://velog.io/@lsmmay322/ftprintf7일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol