[rank:t]の検索結果


C言語のstrncpy関数やmemcpy関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。 そこで半角英数も全角文字も1文字として部分文字列を取り出すことができる関数を作成します。

以下はそのコードです。[C言語]UTF-8でエンコードされた文字列の文字数を取得するコードと同様に、文字の1バイト目のビットの状態を調べることによってその文字が何バイト文字を判定しています。

#include <stdio.h>
#include <string.h>

char *substr_utf8(char *dest, char *src, int offset, int len);
int _bytesize(unsigned char code);


int main(void)
{
    char *testStr = "ABCDEFGあいうえおアイウエオ愛夢佐々木";
    char strBuf[256];

    memset(strBuf, 0sizeof strBuf);

    printf("substr_utf8($testStr, 0, 5) = %s\n", substr_utf8(strBuf, testStr, 05));
    printf("substr_utf8($testStr, 3, 3) = %s\n", substr_utf8(strBuf, testStr, 33));
    printf("substr_utf8($testStr, 10, 4) = %s\n", substr_utf8(strBuf, testStr, 104));
    printf("substr_utf8($testStr, 13, 5) = %s\n", substr_utf8(strBuf, testStr, 135));

    return 0;
}

/* UTF-8でエンコードされた文字列の部分文字列を取り出す */
/* substr_utf8 (文字列式, オフセット, 長さ)*/
char *substr_utf8(char *dest, char *src, int offset, int len)
{
    int srclen = strlen(src);
    int pos = 0;
    int count = 0;
    char *cp = dest;

    while (pos < srclen) {
        unsigned char code;
        code = *(src + pos); /* ASCIIコード値を取得 */
        int bytelen = _bytesize(code);

        if (count >= offset && count < (offset + len)) {
            memcpy(cp, (src + pos), bytelen);
            cp += bytelen;
            *cp = '\0';
        }
        pos += bytelen;
        count++; /* 文字数をカウント */
    }

    return dest;
}

/* 文字のバイト長を求める */
int _bytesize(unsigned char code)
{
    int size = 1;
    int i;

    if (0x80 & code) { /* 1バイト文字以外 */
        for (i = 2; i <= 8; i++) {
            code <<= 1;
            if (!(0x80 & code)) {
                break;
            }
            size++;
        }
    }
    return size;
}

実行結果
$ ./substr_utf8
substr_utf8($testStr, 0, 5) = ABCDE
substr_utf8($testStr, 3, 3) = DEF
substr_utf8($testStr, 10, 4) = えおアイ
substr_utf8($testStr, 13, 5) = イウエオ愛

[2324] Posted by kagahiro at 2013/07/02 11:02:48
0 point | Link (3) | Trackback (0) | Comment (0)

ドメインとは、インターネット上に存在するコンピュータやネットワークにつけられるIPアドレスと対応した識別子のこと。ドメイン名は階層構造になっており、右側からトップレベルドメイン、セカンドレベルドメイン、サードレベルドメインと並んでいる。
[273] Posted by kagahiro at 2005/04/18 21:36:39
2 point | Link (4) | Trackback (2) | Comment (0)

ライブドアが、業務の進行管理から同窓会の出欠管理などに使える無料の進ちょく管理サービス「fixdap(フィックスダップ)」の提供を開始した。

「fixdap」は、システム開発などの分野でプロジェクトのバグを登録し、修正状況を管理する「バグトラッキングシステム(BTS)」のひとつで、各プロジェクトに関わる複数の参加者で使用し、サイト上で各自の担当業務や締切、進行などを一元的に管理し、参加者全員で進ちょく状況を確認することができる。また、画像などの各種データをサイト上に置くこともでき、関連資料をまとめて管理することが可能となっている。ライブドアが以前から自社内でのソフトウェア開発やプロジェクトの進ちょく管理にBTSを利用していた経緯から、そのノウハウを活かし、自社で活用していたものに改良を加え、新サービスとして公開した。利用は無料の会員登録(PC版からのみ)が必要で、登録後は、携帯電話からモバイル版の閲覧も可能。

ライブドアでは、ウェブサイト開発に関わる中小のネット関連企業や、同窓会や学生サークルなどでイベントを主催する幹事が進ちょく管理のツールとして使用することを想定し、一般・企業ユーザー双方からの利用を拡大し、将来的には企業向けの有料販売や海外展開につなげる予定としている。

ライブドア、無料サービス「fixdap(フィックスダップ)」を開始。新規事業の社内公募制から生まれた第1弾企画
タスク共有ツールの決定版 - fixdap

バグトラッキングシステム(BTS)を作業管理に使うのは良いとは思うのですが、残念ながら、最近特にセキュリティに過敏になっている企業で利用されることはないと思います。個人やコミュニティ、オープンソースプロジェクトなどの作業管理には使えると思います。とりあえず、「掲示板ソフト 59bbs の開発」というのを作ってみました。「確認」ステータスの使い方はよくわかりませんが、タスクのステータスの遷移がシンプルなのがいいですね。「完了」があるなら「確認」はいらないと思います。

デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか
著者:エドワード・ヨードン
日経BP社

by Amalink

[1142] Posted by kagahiro at 2007/12/19 05:30:07
0 point | Link (1) | Trackback (0) | Comment (0)

ライブドアがやっと上場廃止になるようです。ライブドアとライブドアマーケティング株、4月14日に上場廃止(CNET Japan)市場関係者や投資家を欺いて資金調達してきた明らかなようなので上場廃止は当然でしょうが、ホリ...
[465] Posted by kagahiro at 2006/03/14 06:45:17
6 point | Link (1) | Trackback (1) | Comment (2)

Amazon(アマゾン)インスタントストア」はブログでどう使っていいかわからなかったのでまったく使っていなかったのですが、「あまなつ日記」さんが「Amazon(アマゾン)インスタントストア」と連動したブログパー...
[970] Posted by kagahiro at 2007/02/02 04:45:26
1 point | Link (1) | Trackback (1) | Comment (0)

インサイダー取引の疑いで東京地検の捜査対象となっていた、元通産官僚で村上ファンド代表の村上世彰氏が、記者会見でインサイダー取引の事実を認め謝罪した。テレビのニュースで見たのですが、余程練習したのかかな...
[596] Posted by kagahiro at 2006/06/05 12:50:53
2 point | Link (2) | Trackback (2) | Comment (0)

レンタルサーバーで自作またはネットなどで配布されているCGIを動かすためには、利用するレンタルサーバーでどのような環境変数が利用できるかを調べる必要があります。以下のPerlスクリプトは使いたいCGIを実行する...
[145] Posted by kagahiro at 2005/03/21 16:11:53
0 point | Link (4) | Trackback (0) | Comment (0)

RaceQueen社が管理する2ちゃんねる(2ch.net)で近日中にDATへのアクセスが廃止され、2015/3/3以降に2ch.net専用ブラウザを開発、公開するには、2ch.netの所有者であるRaceQueen社の許諾を得て、2ch.netが提供するAP...
[2467] Posted by kagahiro at 2015/02/16 17:16:39
4 point | Link (2) | Trackback (0) | Comment (4)

日本振興銀行が、社外取締役から、社長、会長に就任するという日本企業の経営者としては異例の経歴で、これまで同行を牛耳ってきた木村剛会長だが、業績の低迷による赤字決算の責任を取らされ失脚、権力の転落した。...
[1878] Posted by kagahiro at 2010/05/17 09:42:28
0 point | Link (2) | Trackback (0) | Comment (0)

経済学者の池田信夫氏がはてなブックマークのユーザーをネットイナゴと罵倒した記事があちこちでちょっとした話題になってますが、「ニコニコブックマーク(仮)」に比べれば、「はてなブックマーク」なんてかわいい...
(追記あり)
[1043] Posted by kagahiro at 2007/06/12 04:42:45
1 point | Link (3) | Trackback (1) | Comment (0)

|< 先頭へ  < 前へ  9 10 11 12 13  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (17 PV)
  2. FC2まとめ (6 PV)
  3. StartPage(スタートページ) - 匿名検索エンジン (5 PV)
  4. 2ちゃんねる(2ch) (5 PV)
  5. 水木しげるの人生訓「幸福の七か条」 (3 PV)
  6. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  7. 「RPGツクールMV」製ゲームを簡単にiOS、Androidアプリ化する「Monaca for RPGツクール」 #テクノロジー (3 PV)
  8. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (3 PV)
  9. Google 日本語入力がオープンソースに (3 PV)
  10. 2NN 2ちゃんねるニュース速報+ナビ (3 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (20 PV)
  2. FC2まとめ (14 PV)
  3. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (8 PV)
  4. StartPage(スタートページ) - 匿名検索エンジン (6 PV)
  5. 2NN 2ちゃんねるニュース速報+ナビ (5 PV)
  6. 掲示板CGI ThreadPlus 1.2 のリリース (5 PV)
  7. 「Kindle for the Web」 (5 PV)
  8. 2ちゃんねる(2ch) (5 PV)
  9. 電通が2ちゃんねるを監視 「電通バズリサーチ(Dentsu Buzz Research)」 (5 PV)
  10. FC2ブログにコミュニティ機能 (4 PV)

アクセス統計

ディレクトリ

関連サイト