質問頂いたので、こちらにも展開しておきます。
以下をご覧ください。
data TEST;
input X Y:$3. ; cards; 1 a 2 b 3 c ;
|
文字変数Yには、CARDSの中身通り先頭スペースを保持して以下のように読み込みたかったのですが、ふつうに読み込むと先頭スペースが消えちゃいます。
X
|
Y
|
---|---|
1 | a |
2 | b |
3 | c |
先頭スペースを保持するには、以下のように工夫が必要です。
data TEST;
input @1 X @3 Y $char3. ; cards; 1 a 2 b 3 c ;
|
「INPUT @読み込み開始位置 変数名 $CHAR読み込む文字の長さ.」という感じで書きます。
・「@読み込み開始位置」で変数毎に読み込みを開始する位置を指定し、
・インフォーマット「$CHAR」を使って先頭のスペースを切り捨てずに読み込んでいます。
あと実際質問もらった方に聞かれたことなので、一応こちらでも補足説明しておきます。
$CHARは文字変数として読み込むときに使います。
上の例の変数Xは数値変数として読み込みたいので$CHARの指定はしていません。
0 件のコメント:
コメントを投稿