タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

languageとCに関するclouderのブックマーク (2)

  • C で split をどう書くかという、昭和時代の自転車置き場の議論 - kazuhoのメモ置き場

    でまあというわけで split/join とかしたい時は 99% 速度なんて気にしてないという法則から、普通に vector かえす split がとりあえずあったりいいんじゃないかなぁとか思うわけです。 split/join - はじめてのにき(2009-03-17) C++ の場合であれば 100% 同意です。ただ、good old な C 言語の場合はどうするのがいいのかな、と思ったのでした。メモリ確保したりしたら、解放めんどくさいし。で、自分だったら、 size_t split_str(char *s, int split_char, char **list, size_t max_count) { size_t count = 0; if (count < max_count) list[count] = s; count++; for (; *s != '\0'; s++) {

    C で split をどう書くかという、昭和時代の自転車置き場の議論 - kazuhoのメモ置き場
  • strtok

    > 静的なバッファ… "変数領域" に確保する配列のことです。例えば、関数の外で定義した配列は "静的" になります。(関数内で定義することもできますが…詳細は割愛します) > ポインターとはconst array … この場合の "3453/5252" は "定数領域" にありますので const になります。ですので char *chk = "3453/5252" とすると chk に代入されるのは const ポインタです。 関数内で char chk[] = "3453/5252" とすると、文字列はスタック上の領域(auto 変数)にコピーされ、chk にはその領域を指すポインタが代入されます。これは const ではありません。 > chkにはユーザーが入れた値を代入したいので… いずれにしても入力された文字列を蓄えておく領域(文字配列・バッファ)は必要でしょうし、予想される文

    strtok
  • 1