🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.c
Article #617

Re: [Q] ファイルの特定の位置を変更

#617
From: Yasuhiko Gotoh
Date: Thu, 19 Mar 1998 00:00
77 lines
2410 bytes
後藤です。

MS-DOSの(テキスト)ファイルをTYPEで確認すると
コードが0x1a(EOF)のところで表示が終了してしまいます。
notepad.exeやwordpad.exeでは、
ファイルの中身はファイルサイズ分見えます。

サンプルを作成しましたのでご確認ください。
みなさんのお役に立てば幸いです。

>dir tp
TP       C             738  98-03-19  10:30 TP.C
TP       OBJ         1,131  98-03-19  10:35 TP.OBJ
TP       EXE        13,623  98-03-19  10:35 TP.EXE
TP                      14  98-03-19  10:35 TP
>type tp
01234
>tp.exe
 30 31 32 33 34 1a 35 36  37 38 39 0d 0a 1a        01234.56 789...
                ^^
                ここで表示終了している。
------ ここからtp.c -----------
#include	<stdio.h>

void	main(void)
{
	FILE	*fp;
	int		c;

	int		i,j;
	unsigned char	buf[70],*ptr;

	printf("\n");
	fp = fopen("tp", "r");

	while( 1 ){
		/* ダンプエリアスペースフィル */
		for( j = 0; j < 70; i++ ) buf[j] = ' ';

		for( i = 0; i < 16; i++, dt++ )
		{
			if((c = fgetc(fp)) != EOF){
				ptr=&buf[i*3];
				if(i > 7) ptr++;
				sprintf(ptr," %02x", c);
				*(ptr+3) = ' ';

				ptr=&buf[i+51];
				if(i > 7) ptr++;
				if((c < 0x20)||(c > '~'))
				{
					sprintf(ptr,".");
				}
				else
				{
					sprintf(ptr,"%c", c);
				}
				*(++ptr) = ' ';
			}else{
				break;
			}
		}
		buf[24]=buf[49]=buf[50]=buf[59]=' ';
		buf[68]='\n';
		buf[69]=0;
		printf("%s",buf);
	}
}
------------ ここまで  -----------------

-----------------------------------------------------------------
    後藤安彦@関西事業所 OP制御システム 第8システム部
      E-Mail : gotoh@kso.njk.co.jp
      Tel_No : 06-350-3605
      Fax_No : 06-350-3645 , 3646
-----------------------------------------------------------------
Technical Details
Message-ID: <6epu0q$m7d@voyager.kso.njk.co.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6enu63$sq7@voyager.kso.njk.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 106434,8a84d598efbbed25
X-Google-Attributes: gid106434,public
From: gotoh@kso.njk.co.jp (Yasuhiko Gotoh)
Subject: Re: [Q] ファイルの特定の位置を変更
Date: 1998/03/19
Message-ID: <6epu0q$m7d@voyager.kso.njk.co.jp>
X-Deja-AN: 335433928
References: <6enu63$sq7@voyager.kso.njk.co.jp>
Mime-Version: 1.0
Distribution: fj
Content-Type: text/plain; charset=ISO-2022-JP
Organization: NJK Corp.,Osaka,Japan
Newsgroups: fj.lang.c