C言語なら俺に聞け( ..
[2ch|▼Menu]
482:デフォルトの名無しさん
08/08/20 14:03:47
>>479
4桁目のチェックが抜けてないか?

483:デフォルトの名無しさん
08/08/20 14:05:20
>>482
必要あるか?

484:デフォルトの名無しさん
08/08/20 14:05:42
>>482
あーそうだね

  switch(argv[1][2])
  {
    case '0': case '1': case '2': case '3': case '4': case '5': if(argv[1][3]) break;
    default: return -1;
  }

こうか

485:デフォルトの名無しさん
08/08/20 14:07:05
>>483
ある
[3]が\0のときも無視して通してしまう

486:デフォルトの名無しさん
08/08/20 14:09:08
2桁目も

  switch(argv[1][0])
  {
    case '0': case '1': if(argv[1][1]) break;

だな

487:デフォルトの名無しさん
08/08/20 14:22:21
int check_time(const char *hhss)
{
    int i, hour, second;
    if (strlen(hhss) != 4) return -1;
    for (i = 0; i < 4; i++) if (!isdigit(hhss[i])) return -1;
   
    hour = (hhss[0] - '0') * 10 + (hhss[1] - '0');
    second = (hhss[2] - '0') * 10 + (hhss[3] - '0');
   
    return (0 <= hour && hour < 24 && 0 <= second && second < 60) ? 0 : -1;
}

488:デフォルトの名無しさん
08/08/20 14:29:42
教えてください

int型の2次元配列の先頭のポインターだけをもらってくる関数があります。
配列のサイズはわかっているんですが関数内で見る際にはどう記述すればいいでしょうか?

これを関数内でいじりたい
unsigned int hoge2div[100][200];

関数を呼ぶ前に連絡用構造体の所定のエリアに2次元配列のポインターを格納してます。
(unsigned int* )hoge->ptr = hoge2div;


関数内の定義(ここを直したい。)
unsigned int* 2div = (unsigned int* )2div->ptr;

489:デフォルトの名無しさん
08/08/20 14:30:40
>関数を呼ぶ前に連絡用構造体の所定のエリアに2次元配列のポインターを格納してます。
>(unsigned int* )hoge->ptr = hoge2div;
こっちが正解です
hoge->ptr = hoge2div;

490:デフォルトの名無しさん
08/08/20 14:36:52
unsigned int (*p)[DIV1_SIZE]=(unsigned int (*)[DIV1_SIZE])hoge->ptr;


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5394日前に更新/113 KB
担当:undef