<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/cwizard/">
    <title>Wizard</title>
    <link>http://w.atwiki.jp/cwizard/</link>
    <atom:link href="https://w.atwiki.jp/cwizard/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>Wizard</description>

    <dc:language>ja</dc:language>
    <dc:date>2008-08-26T10:32:24+09:00</dc:date>
    <utime>1219714344</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/29.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/28.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/26.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cwizard/pages/19.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/29.html">
    <title>一方向リスト（その２）</title>
    <link>https://w.atwiki.jp/cwizard/pages/29.html</link>
    <description>
      
&lt;p&gt;一方向リストその２。&lt;/p&gt;
&lt;p&gt;リストの先頭と末尾へのポインタを用意する事で、&lt;/p&gt;
&lt;p&gt;末尾へ効率的にノードを追加します。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
/*****************************************************************************/&lt;br /&gt;/* 線形リスト                                                                */&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;typedef struct _node {&lt;br /&gt;  int          no;&lt;br /&gt;  char         str[256];&lt;br /&gt;  struct _node *next;         /* 次のノード */&lt;br /&gt;} Node_t;&lt;br /&gt;&lt;br /&gt;typedef struct _list {&lt;br /&gt;  Node_t      *head;          /* リストの先頭 */&lt;br /&gt;  Node_t      *tail;          /* リストの末尾 */&lt;br /&gt;} List_t;&lt;br /&gt;&lt;br /&gt;#define OK 0&lt;br /&gt;#define NG -1&lt;br /&gt;&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;/* ノード領域確保                                                            */&lt;br /&gt;/******************************************************    </description>
    <dc:date>2008-08-26T10:32:24+09:00</dc:date>
    <utime>1219714344</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/28.html">
    <title>一方向リスト（その１）</title>
    <link>https://w.atwiki.jp/cwizard/pages/28.html</link>
    <description>
      
&lt;p&gt;単純な一方向リストです。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
/*****************************************************************************/&lt;br /&gt;/* 単純なリスト                                                              */&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;typedef struct _node {&lt;br /&gt;    int             no;&lt;br /&gt;    char            str[256];&lt;br /&gt;    struct _node    *next;      /* 次のノードへのポインタ */&lt;br /&gt;} Node_t;&lt;br /&gt;&lt;br /&gt;#define OK  0&lt;br /&gt;#define NG  -1&lt;br /&gt;&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;/* ノードのメンバに値設定                                                    */&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;static void SetNode(Node_t *node, int no, char *str, Node_t *next)&lt;br /&gt;{&lt;br /&gt;    node-&amp;gt;no = no;&lt;br /&gt;    strcpy(node-&amp;gt;str, str);&lt;br /&gt;    node-&amp;gt;next     </description>
    <dc:date>2008-08-26T10:24:03+09:00</dc:date>
    <utime>1219713843</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/27.html">
    <title>sitするとアニメを実行する【LSL】</title>
    <link>https://w.atwiki.jp/cwizard/pages/27.html</link>
    <description>
      
&lt;p&gt;sitするとアニメを実行するLSLです。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
// sitしたときにアニメを再生する &lt;br /&gt;// Author   : Parvati Schnyder &lt;br /&gt;// Reference:「セカンドライフプログラミング入門 - 赤坂 玲音[著] &lt;br /&gt;&lt;br /&gt;string anim = &amp;quot;animation&amp;quot;;        // ここを再生したいアニメ名に変更&lt;br /&gt;&lt;br /&gt;default&lt;br /&gt;{&lt;br /&gt;   attach(key kAvId)&lt;br /&gt;   {&lt;br /&gt;       // attach&lt;br /&gt;       if (kAvId != NULL_KEY) {&lt;br /&gt;           // アニメ再生のパーミッションを要求&lt;br /&gt;           llRequestPermissions(kAvId, PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;       // detach&lt;br /&gt;       } else {&lt;br /&gt;           // アニメを止める&lt;br /&gt;           llStopAnimation(anim);&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;   // パーミッション要求にユーザーの返答があった&lt;br /&gt;   run_time_permissions(integer perm)&lt;br /&gt;   {&lt;br /&gt;       // 「アバターに動きをつける」→ YES&lt;br /&gt;       if (perm != 0) {&lt;br /&gt;           // アニメを再生する&lt;br /&gt;           llStartAnimation(anim);&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}
&lt;/pre&gt;    </description>
    <dc:date>2008-08-25T15:37:37+09:00</dc:date>
    <utime>1219646257</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/26.html">
    <title>attachするとアニメを実行する【LSL】</title>
    <link>https://w.atwiki.jp/cwizard/pages/26.html</link>
    <description>
      
&lt;p&gt;attachするとアニメを実行するLSLです。&lt;br /&gt;
グラスを持つと飲む、フォークを持つと食べる動作をさせたい場合に使えます。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
string anim = &amp;quot;animation&amp;quot;;        // ここを再生したいアニメ名に変更  &lt;br /&gt;&lt;br /&gt;default  &lt;br /&gt;{  &lt;br /&gt;    attach(key kAvId)  &lt;br /&gt;    {&lt;br /&gt;        // attach&lt;br /&gt;        if (kAvId != NULL_KEY) {&lt;br /&gt;            // アニメ再生のパーミッションを要求  &lt;br /&gt;            llRequestPermissions(kAvId, PERMISSION_TRIGGER_ANIMATION);&lt;br /&gt;        // detach&lt;br /&gt;        } else {  &lt;br /&gt;            // アニメを止める&lt;br /&gt;            llStopAnimation(anim);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    // パーミッション要求にユーザーの返答があった&lt;br /&gt;    run_time_permissions(integer perm)&lt;br /&gt;    {&lt;br /&gt;        // 「アバターに動きをつける」→ YES&lt;br /&gt;        if (perm != 0) {&lt;br /&gt;            // アニメを再生する&lt;br /&gt;            llStartAnimation(anim);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}
&lt;/pre&gt;    </description>
    <dc:date>2008-08-25T15:38:40+09:00</dc:date>
    <utime>1219646320</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/25.html">
    <title>曜日取得【LSL】</title>
    <link>https://w.atwiki.jp/cwizard/pages/25.html</link>
    <description>
      
&lt;p&gt;年月日からその日が何曜日であったか求めます。&lt;br /&gt;
ここで使うのは&lt;a href=&quot;http://ja.wikipedia.org/wiki/%E3%83%84%E3%82%A7%E3%83%A9%E3%83%BC%E3%81%AE%E5%85%AC%E5%BC%8F&quot;&gt;ツェラーの公式&lt;/a&gt;。&lt;br /&gt;
LSLは文字列比較は処理が重いらしいとどこかで見たので、&lt;br /&gt;
返却値をif文にかけるのであれば、integerのまま返却するようにすると良いと思います。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
// 曜日取得&lt;br /&gt;string GetWeek(integer year,integer month, integer day)&lt;br /&gt;{&lt;br /&gt;    list weektbl = [&amp;quot;Sun&amp;quot;,&amp;quot;Mon&amp;quot;,&amp;quot;Tue&amp;quot;,&amp;quot;Wed&amp;quot;,&amp;quot;Thu&amp;quot;,&amp;quot;Fri&amp;quot;,&amp;quot;Sat&amp;quot;];&lt;br /&gt;&lt;br /&gt;    // 1月の場合は前年の13月,2月の場合は前年の14月&lt;br /&gt;    if ((month == 1) || (month == 2)) {&lt;br /&gt;        year--;&lt;br /&gt;        month += 12;&lt;br /&gt;    }&lt;br /&gt;    integer week =&lt;br /&gt;       (year + year / 4 - year / 100 + year / 400 + (month * 13 + 8) / 5 + day) % 7;&lt;br /&gt;&lt;br /&gt;    return llList2String(weektbl, week);&lt;br /&gt;}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;参考：&lt;a href=&quot;http://plaza.rakuten.co.jp/giru0116/019000&quot;&gt;giru0116のブログ&lt;/a&gt;&lt;/p&gt;
    </description>
    <dc:date>2008-08-26T10:36:13+09:00</dc:date>
    <utime>1219714573</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/24.html">
    <title>n日前の日付取得【C】</title>
    <link>https://w.atwiki.jp/cwizard/pages/24.html</link>
    <description>
      
&lt;p&gt;現在からn日前の日付を取得する。&lt;br /&gt;
timer -= (86400 * n);のところを+にして、未来日も求められるようにしても良いかと思いますが、&lt;br /&gt;
未来日を求めるようなシステムは今まで経験したことがありません。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;time.h&amp;gt;&lt;br /&gt;&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;/* ymd[9]のサイズで引数を渡すこと                                                                             */&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;void CalcBeforeDate(int n, char *ymd)&lt;br /&gt;{&lt;br /&gt;  time_t timer;&lt;br /&gt;  struct tm *t_st;&lt;br /&gt;&lt;br /&gt;  /* 現在時刻ﾉ取得 */&lt;br /&gt;  time(&amp;amp;timer);&lt;br /&gt;&lt;br /&gt;  /* 1日の秒数86400秒 * n日を引く */&lt;br /&gt;  timer -= (86400 * n);&lt;br /&gt;&lt;br /&gt;  /* 時刻を構造体に変換 */&lt;br /&gt;  t_st = localtime(&amp;amp;timer);&lt;br /&gt;&lt;br /&gt;  /* 文字列に書き込む */&lt;br /&gt;  sprintf(ymd, &amp;quot;%d%02d%02d&amp;quot;, t_st-&amp;gt;tm_year + 1900&lt;br /&gt;                           , t_st-&amp;gt;tm_mon + 1&lt;br /&gt;                           , t_st-&amp;gt;tm_mday);&lt;br /&gt;}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;使い方&lt;/p&gt;
&lt;pre&gt;    </description>
    <dc:date>2008-08-25T15:21:16+09:00</dc:date>
    <utime>1219645276</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/22.html">
    <title>月末日取得【LSL】</title>
    <link>https://w.atwiki.jp/cwizard/pages/22.html</link>
    <description>
      
&lt;p&gt;指定年月の月末の日付を返却します。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
// 閏年計算&lt;br /&gt;integer IsLeapYear(integer year)&lt;br /&gt;{&lt;br /&gt;    if (((year % 4 == 0) &amp;amp;&amp;amp; (year % 100 != 0)) || year % 400 == 0) {&lt;br /&gt;        return TRUE;&lt;br /&gt;    } else {&lt;br /&gt;        return FALSE;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// 末日取得&lt;br /&gt;integer GetLastDay(integer year, integer month)&lt;br /&gt;{&lt;br /&gt;    integer leap = IsLeapYear(year);&lt;br /&gt;    list    mdays = [];&lt;br /&gt;&lt;br /&gt;    // うるう年&lt;br /&gt;    if (leap == TRUE) {&lt;br /&gt;        mdays = [31,29,31,30,31,30,31,31,30,31,30,31];&lt;br /&gt;    // うるう年以外&lt;br /&gt;    } else {&lt;br /&gt;        mdays = [31,28,31,30,31,30,31,31,30,31,30,31];&lt;br /&gt;    }&lt;br /&gt;    return llList2Integer(mdays, month - 1);&lt;br /&gt;}
&lt;/pre&gt;    </description>
    <dc:date>2008-08-24T18:56:46+09:00</dc:date>
    <utime>1219571806</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/21.html">
    <title>月末日取得【C】</title>
    <link>https://w.atwiki.jp/cwizard/pages/21.html</link>
    <description>
      
&lt;p&gt;指定年月の月末の日付を返却します。&lt;/p&gt;
&lt;pre&gt;
#define TRUE   0&lt;br /&gt;#define FALSE -1&lt;br /&gt;&lt;br /&gt;/* is leap or not */&lt;br /&gt;int IsLeapYear(int year)&lt;br /&gt;{&lt;br /&gt;    if (((year % 4 == 0) &amp;amp;&amp;amp; (year % 100 != 0)) || year % 400 == 0) {&lt;br /&gt;        return TRUE;&lt;br /&gt;    } else {&lt;br /&gt;        return FALSE;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* get the last day of month */&lt;br /&gt;int GetLastDay(int year, int month)&lt;br /&gt;{&lt;br /&gt;    int leap;&lt;br /&gt;    int lmdays[] = {31,29,31,30,31,30,31,31,30,31,30,31};&lt;br /&gt;    int mdays[]  = {31,28,31,30,31,30,31,31,30,31,30,31};&lt;br /&gt;&lt;br /&gt;    leap =  = IsLeapYear(year);&lt;br /&gt;    // leap year&lt;br /&gt;    if (leap == TRUE) {&lt;br /&gt;        return lmdays[month - 1];&lt;br /&gt;    // no_leap year&lt;br /&gt;    } else {&lt;br /&gt;        return mdays[month - 1];&lt;br /&gt;    }&lt;br /&gt;}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
    </description>
    <dc:date>2008-08-24T18:54:05+09:00</dc:date>
    <utime>1219571645</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/20.html">
    <title>自作関数【LSL】</title>
    <link>https://w.atwiki.jp/cwizard/pages/20.html</link>
    <description>
      **日付関連
-[[うるう年判定&gt;うるう年判定【LSL】]]
-[[月末日取得&gt;月末日取得【LSL】]]
-[[曜日取得&gt;曜日取得【LSL】]]
----
**アニメーション関連
-[[attachするとアニメを実行する&gt;attachするとアニメを実行する【LSL】]]
-[[sitするとアニメを実行する&gt;sitするとアニメを実行する【LSL】]]
----    </description>
    <dc:date>2008-08-25T15:31:54+09:00</dc:date>
    <utime>1219645914</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cwizard/pages/19.html">
    <title>うるう年判定【C】</title>
    <link>https://w.atwiki.jp/cwizard/pages/19.html</link>
    <description>
      
&lt;p&gt;&lt;br /&gt;
うるう年は&lt;br /&gt;
1. 西暦年が4で割り切れる年は閏年&lt;br /&gt;
2. ただし、西暦年が100で割り切れる年は平年&lt;br /&gt;
3. ただし、西暦年が400で割り切れる年は閏年&lt;br /&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4&quot;&gt;Wikipedia&lt;/a&gt;より&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;うるう年であればTRUE、平年であればFALSEを返却します。&lt;/p&gt;
&lt;pre&gt;
#define TRUE   0;&lt;br /&gt;#define FALSE -1;&lt;br /&gt;&lt;br /&gt;int IsLeapYear(int year)&lt;br /&gt;{&lt;br /&gt;  if (((year % 4 == 0) &amp;amp;&amp;amp; (year % 100 != 0)) || year % 400 == 0) {&lt;br /&gt;      return TRUE;&lt;br /&gt;  } else {&lt;br /&gt;      return FALSE;&lt;br /&gt;  }&lt;br /&gt;}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
    </description>
    <dc:date>2008-08-25T15:23:51+09:00</dc:date>
    <utime>1219645431</utime>
  </item>
  </rdf:RDF>
