表紙 / 自作ソフト / 日記 / 宝箱 / サイト情報 / 検索
一般 / 新C言語 / 駄文

プログラミング言語 C の新機能


←前頁へ◎表紙へ次頁へ→
 
 

1. 概略
1.1 はじめに
1.2 新しい予約語
1.3 新しいヘッダファイル
2. C プリプロセッサ
2.1 新しいコメント表記方法
2.2 空引数を許された関数型マクロ呼出し
2.3 可変個数引数を持つマクロ定義
2.4 あらかじめ定義されているマクロ名
2.5 プログラミング言語 C 標準プラグマ
2.6 単項演算子 _Pragma
2.7 プリプロセッサ式における整数型
2.8 文字列定数とワイド文字列定数の結合
3. 字句
3.1 ユニバーサルキャラクタ名
3.2 拡張された識別名使用文字
3.3 浮動小数点定数の 16 進数表記
4. 配列
4.1 可変長配列
4.2 構造体中の 0 長配列メンバ
4.3 配列要素中の記憶/型修飾子
5. 整数型
5.1 _Bool 型
5.2 long long int 型
5.3 long long int 型の定数
5.4 整数除算
6. 複素数型
6.1 _Complex 型
6.2 _Imaginary 型
6.3 複素数に関する四則演算
7. 文法一般
7.1 暗黙の関数宣言
7.2 宣言時の暗黙の型
7.3 前定義識別名 __func__
7.4 enum 宣言での余分なカンマ
7.5 inline 関数定義
7.6 restrict ポインタ
7.7 変数宣言と実行コードの位置関係
7.8 指示付きの初期化子 (Designated Initializer)
7.9 複合リテラル (Compound Literal)
7.10 選択文と反復文のブロック化
8. 標準ライブラリ(拡張)
8.1 ctype.h
8.2 float.h
8.3 math.h
8.4 stdarg.h
8.5 stdio.h
8.6 stdlib.h
8.7 wchar.h
8.8 wctype.h
9. 標準ライブラリ(新規)
9.1 complex.h: 複素数
9.2 fenv.h: 浮動小数点環境
9.3 inttypes.h
9.4 stdbool.h
9.5 stdint.h
9.6 tgmath.h: 型総称数学関数
A. 付録
A.1 strftime 書式指定子
A.2 printf の書式

A. 付録

A.1 strftime 書式指定子
 time.h に含まれる strftime 関数の書式指定子も C99 では拡張されています。従来のものと拡張されたものを含めた全てを以下に示します。
strftime 書式指定子

指定子説明参照メンバ
(struct tm *)
範囲
年月日・曜日
%Y, %EYtm_year例:1997
%C, %EC年の上二桁00-99
%y, %Ey, %Oy年の下二桁00-99
%m, %Omtm_mon01-12
%Bロケール依存の月の名前
["C" locale: "January", ..., "December"]
%b, %h(別名)ロケール依存の省略された月の名前
["C" locale: %B の先頭 3 文字]
%d, %Odtm_mday01-31%Od:必要に応じて先頭に0を追加。または0に対応する代替記号がなければ空白を付加
%e, %Oeその月の日付。一桁の場合は空白が置かれる1-31%Oe:必要に応じて空白を先頭に追加

%Aロケール依存の曜日名tm_wday
["C" locale: "Sunday", ..., "Saturday"]
%aロケール依存の省略された曜日名
["C" locale: %A の先頭 3 文字]
%w, %Ow曜日0-6日曜=0
%u, %Ou曜日 (ISO8601形式)1-7月曜=1

%x, %Exロケール依存の日付表現all
["C" locale: %A %B %d %Y]
通し番号



%j年内の通し番号tm_yday001-366

%W, %OWその年の週の通し番号tm_year,tm_wday,tm_yday00-53月曜が週の始まり
%U, %OUその年の週の通し番号00-53日曜が週の始まり
週ベース年




%G週ベース年tm_year, tm_wday, tm_yday例:1997
下部注参照
%g週ベース年の下二桁00-99
%V, %OV週ベース年の通し番号01-53
時分秒
%H, %OH24時間単位の時tm_hour00-23

%p12時間単位の午前午後を表す文字列
["C" locale: am, pm]
%I, %OI12時間単位の時01-12

%M, %OMtm_min00-59

%S, %OStm_sec00-60


%X, %EXロケール依存の時刻表現all
["C" locale: %T]
%rロケール依存の12時間単位の時刻tm_hour, tm_min, tm_sec
["C" locale: %I:%M:%S %p]
%R%H:%Mtm_hour, tm_min

%T%H:%M:%S (ISO8601時刻形式)tm_hour, tm_min, tm_sec

日時

%c, %Ecロケール依存の適切な日時表現all
["C" locale: %A %B %d %T %Y]
%D%m/%d/%ytm_mon, tm_mday, tm_year

%F%y-%m-%d (ISO8601日付形式)tm_year, tm_mon, tm_mday,

Time Zone
T
i
m
e
Z
o
n
e
%zISO8601形式での UTC からのオフセットtm_isdst例:"+0900"
タイムゾーンが不明ならば文字無し
%Zロケールのタイムゾーンの名前または省略名例:JST
タイムゾーンが不明ならば文字無し
["C" locale: 実装定義]
その他


%n改行


%t水平タブ


%%%


・%E? は、「ロケールでの別の代替表現による...」をあらわす
・%O? は、「ロケールの代替数値記号を使った...」をあらわす
・%E?,%O?: 現在のロケールで修飾子がなければそれは無視
赤字は C99 で追加されたもの。ただし POSIX ですでに追加されていたものもある。
・%g, %G, %V で使用されている ISO8601 の週ベース年とは、その年の第一週に 1 月 4 日を含んでおり、かつ少なくともその年を 4 日分含んでいる、月曜日から始まる週を、その年の始めの週として勘定する方式の年である。

←前頁へ◎表紙へ次頁へ→
 
 
表紙 - 著作権 - 注意事項 - リンクについて - 404 エラーについて
(c)1999-2014 seclan. All rights reserved.