読者です 読者をやめる 読者になる 読者になる

「C」8桁16進数(足りない桁は0埋め)の名前でファイルを生成する

なんだかわけのわからないタイトルですが、要は「00000000 〜 0000000F」みたいな感じで、連続した 8 桁の 16 進数 ( 足りない桁は 0 埋めする ) を名前としたファイルを生成するってサンプル書いてみたので、メモしておきます。

※ できればスクリプトでさっとやりたい内容ではありますが、ひとまず C で・・・

#include <stdio.h>
#include <stdlib.h>

void createFile(char *name);

void main(void)
{
    char s[9];
    int i = 0;
    int n;
    
    for(n = 0; n < 17; n++) {
        sprintf(s, "%08X", i);
        createFile(s);
        i++;
    }
}

void createFile(char *name)
{
    FILE *fp;
    
    if((fp = fopen(name, "w")) == NULL)
    {
        perror("fopen");
        exit(1);
    }
    fputs(name, fp);
    fclose(fp);
}

上記のサンプルだと「00000000 〜 00000010」な名前のファイルが生成されます。
「生成したいファイルの数」は変数 n で、「始まりのファイル名」は変数 i で指定する感じになります。

※ いや〜 sprintf 便利・・・

・Man page of PRINTF
< http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/printf.3.html >

[ 環境情報 ]
Ubuntu 14.04
gcc 4.8.2