senooken JP Social
  • FAQ
  • Login
senooken JP Socialはsenookenの専用分散SNSです。
  • Public

    • Public
    • Network
    • Groups
    • Popular
    • People

Conversation

Notices

  1. せのお (妹尾 賢) (senooken@social.senooken.jp)'s status on Friday, 22-Jun-2018 18:21:10 JST せのお (妹尾 賢) せのお (妹尾 賢)
    帰宅したら、C言語のlfind関数について調べよう。C言語は配列の一括操作は基本的に自分でforループ必要。lfindは配列から値を線形探索してくれる。貴重な関数。
    In conversation Friday, 22-Jun-2018 18:21:10 JST from social.senooken.jp permalink
    • にの likes this.
    • せのお (妹尾 賢) (senooken@social.senooken.jp)'s status on Friday, 22-Jun-2018 23:04:42 JST せのお (妹尾 賢) せのお (妹尾 賢)
      in reply to
      POSIX 2001から定義されている。1995のSVID 4thでも定義されている。
      その他,SUSv2 1994からも定義されている。UNIX系OSでは使えると思ってよさそうだ。
      http://pubs.opengroup.org/onlinepubs/9699919799.2018edition/
      In conversation Friday, 22-Jun-2018 23:04:42 JST permalink

      Attachments


    • せのお (妹尾 賢) (senooken@social.senooken.jp)'s status on Saturday, 23-Jun-2018 02:38:17 JST せのお (妹尾 賢) せのお (妹尾 賢)
      in reply to
      こんな感じでかなりいいところまでいけている。だけど,lfindで取得したものはポインターなんだけど,ここにマッチした文字列がうまくとれない。アドレスが入っているなら*で取れるかと思ったけどだめ。検索のキーで参照自体はできるのだけど。もどかしい。

      ///////////////////////////////////////////////////////////////////////////////
      /// \file find_array.c
      /// \author SENOO, Ken
      ///////////////////////////////////////////////////////////////////////////////

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

      int main(void) {
      static const char *tab[] = {
      "auto",
      "break"
      };

      size_t nel = sizeof(tab)/sizeof(tab[0]);
      // char *target = "break";
      // char *entry = lfind(&target, tab, &nel, sizeof(tab[0]), (int (*)(const void *, const void*))strcmp);
      char *entry = lfind(&(void *){"break"}, tab, &nel, sizeof(tab[0]), (int (*)(const void *, const void*))strcmp);

      if (entry) {
      printf("found: %s\n", "break");
      } else {
      puts("NOT FOUND");
      }

      return 0;
      }
      In conversation Saturday, 23-Jun-2018 02:38:17 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.