nissii202 の回答履歴

全11件中1~11件表示
  • 配列の長さについて

    現在課題で書いているプログラムに以下のような関数があるのですが、 unsigned char key[32]; int w[60]; int data[NB]; int nk; int nr; int data2[32]; int Cipher(int *); int invCipher(int *); void encryptEBC(int *); void decryptEBC(int *); main(){ unsigned char keys[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; unsigned char iv[]={0xcb,0x70,0x05,0x9e,0x27,0x2f,0x4e,0xd2, 0xd0,0xbe,0x0b,0x06,0xbf,0x16,0xec,0x5a}; unsigned char init2[]={'1','2','3','4','5','6','7','8','9','0','1','2','3','4','5','6','7','8','9','0', '1','2','3','4','5','6','7','8','9','0',0x0a}; //unsigned char init2[]={'h','e','l','l','o'}; int isize = sizeof(init2)/sizeof(init2[0]); int dsize2 = sizeof(data2)/sizeof(data2[0]); printf("%d,%d\n",isize,dsize2); FILE *fp; char *fname = "test.txt"; unsigned char init[16]; int i = 0; int c; fp = fopen( fname, "r" ); if( fp == NULL ){ printf( "%sファイルが開けません\n", fname ); return -1; } while( (c = fgetc( fp )) != EOF ){ init[i] = c; i = i+1; } fclose( fp ); memcpy(key,keys,16); nk = 4; nr = nk + 6; KeyExpansion(key); memcpy(data,init,16); memcpy(data2,init2,isize); printf("%d\n",dsize2); datadump("PLAINTEXT: ",data,16); datadump("KEY: ",key,16); Cipher(data); datadump("Cipher: ",data,16); invCipher(data); datadump("invCipher: ",data,16); printf("\n"); printf("%d\n",dsize2); datadump("PLAINTEXT: ",data2,dsize2); encryptEBC(data2); printf("%d\n",dsize2); datadump("EBCCipher: ",data2,dsize2); decryptEBC(data2); datadump("invCipher: ",data2,dsize2); printf("\n"); return 0; } void encryptEBC(int data[]){ int dsize = sizeof(data)/sizeof(data[0]); int tmp[16]; int i,j,k; printf("%d\n",dsize); KeyExpansion(key); for (i = 0; i < dsize; i += 16) { for (j = 0; j < 16; j++){ tmp[j] = data[i + j]; } Cipher(tmp); for(k=0;k<16;k++){ data[i+k] = tmp[k]; } } } 関数encryptEBC内のdsizeの値がこの場合だとmain内の配列data2の長さ32になってほしいのですが、1になってしまいます。 非常に見ずらいプログラムで申し訳ないのですが、どなたか1になってしまう理由、またどうすれば正しくdata2の長さを求められるか教えていただけないでしょうか?

    • Whalen
    • 回答数3
  • VBSでIEを起動し、拡大率を変更したい

    VBScript初心者です。 IEを起動し、さらに表示倍率を変更したいのですが、 方法がわからずとても困っています。 ウィンドウの大きさではなく、表示倍率です。 ご教授よろしくお願いいたします。

  • Excel VBAについて

    2014年12月のWindows Updateで Office2010のマクロが動かなくなりました。 正確にはActiveXコントロールが反応しません。 対策として出ている MSForms.exdを消す 更新プログラムをアンインストールする 全て新しく貼り替える を試しても、結果は変わりませんでした。 何が原因なのでしょうか。 また、更新プログラムによってActiveXコントロールが使用できなくなったなどの 情報などがあれば教えて頂きたいです。 因みに、マクロ自体にバグがあるとかではないです。 また、開発環境はWindows7 Professional x64 です。

  • カメラで撮影した画像をOpenGLで表示する方法

    webカメラで撮影した映像を,OpenGLを用いて表示することを考えております. 撮影した映像を,できる限り高速に表示する方法を教えていただけないでしょうか? 用途としては,仮想世界の視点移動に合わせて,カメラで撮影した画像を張り付けたポリゴンを 自由な視点から観察することを考えています. 私の考えつく解決策は,以下の通りです. 1.OpenGLの背景(バックバッファ)の領域を指定し,書き込む 2.ポリゴンにテクスチャマッピング 2.について実装してみたのですが,表示速度がいまひとつでした. 実装としては,テクスチャ用画像を,毎フレーム更新して, テクスチャマッピングする方法をとっています. コードを抜粋したものは,以下の通りです. ------------------------------------ glBindTexture(GL_TEXTURE_2D, g_texture[0]);//テクスチャの指定 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, texture_img[0]->width,texture_img[0]->height, GL_RGB,GL_UNSIGNED_BYTE,texture_img[0]->imageData); ---------------------------------- ※texture_img[0]を毎フレーム更新して,テクスチャマッピング お忙しいと思いますが, アドバイスをいただけますと幸いです. よろしくお願いいたします.

    • hhsato
    • 回答数2
  • カメラで撮影した画像をOpenGLで表示する方法

    webカメラで撮影した映像を,OpenGLを用いて表示することを考えております. 撮影した映像を,できる限り高速に表示する方法を教えていただけないでしょうか? 用途としては,仮想世界の視点移動に合わせて,カメラで撮影した画像を張り付けたポリゴンを 自由な視点から観察することを考えています. 私の考えつく解決策は,以下の通りです. 1.OpenGLの背景(バックバッファ)の領域を指定し,書き込む 2.ポリゴンにテクスチャマッピング 2.について実装してみたのですが,表示速度がいまひとつでした. 実装としては,テクスチャ用画像を,毎フレーム更新して, テクスチャマッピングする方法をとっています. コードを抜粋したものは,以下の通りです. ------------------------------------ glBindTexture(GL_TEXTURE_2D, g_texture[0]);//テクスチャの指定 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, texture_img[0]->width,texture_img[0]->height, GL_RGB,GL_UNSIGNED_BYTE,texture_img[0]->imageData); ---------------------------------- ※texture_img[0]を毎フレーム更新して,テクスチャマッピング お忙しいと思いますが, アドバイスをいただけますと幸いです. よろしくお願いいたします.

    • hhsato
    • 回答数2
  • オススメのアニメを教えて下さい。

    アニメ初心者です。 今まで観て面白いと感じたアニメは STEINS;GATE BACCANO! デュラララ!! Angel Beats! レベルE あの日見た花の名前を僕達はまだ知らない 夏目友人帳 男子高校生の日常 です。 基本的に内容がこっていたり、頭を多少働かせたりするものが好きです。 多少ギャグ要素がこいものも好きです。 まったりしたものも好きですが、日常やみなみけは合わなかったみたいでした。 よろしくお願いします。

  • 処理が異常に遅い原因はわかりますか?

    久しぶりに、(perlのXSのために)C言語を組んでみましたが、 以下のコードが、異常に遅いようでした。 (実際には、違う処理ですが、これでも遅くなりましたので、単なる文字コピーです) 例えでいえば、同じことをする数文字のperlの正規表現処理の数100倍の時間がかかっていました。 void hoge(char *dst, char *src, int len) { int i; for(i = 0; i < len; i++) { *dst++=*src++; /* ここをなくすと、爆速になる */ } } ※strlenで当初は試していましたが、ほとんどかわりありません。 どこが、原因でしょうか? 以下のコードは、きちんと爆速で動作してくれます。 void hoge(char *dst, char *src) { for(; *dst++ = *src++;); } コンパイルオプションは gcc -O2 または gcc -O3 で、CPUは、x86_64でなっています。(AMD FX-4170) 処理した文字列は、約100Mバイト分になります。 宜しくお願いします。

  • 処理が異常に遅い原因はわかりますか?

    久しぶりに、(perlのXSのために)C言語を組んでみましたが、 以下のコードが、異常に遅いようでした。 (実際には、違う処理ですが、これでも遅くなりましたので、単なる文字コピーです) 例えでいえば、同じことをする数文字のperlの正規表現処理の数100倍の時間がかかっていました。 void hoge(char *dst, char *src, int len) { int i; for(i = 0; i < len; i++) { *dst++=*src++; /* ここをなくすと、爆速になる */ } } ※strlenで当初は試していましたが、ほとんどかわりありません。 どこが、原因でしょうか? 以下のコードは、きちんと爆速で動作してくれます。 void hoge(char *dst, char *src) { for(; *dst++ = *src++;); } コンパイルオプションは gcc -O2 または gcc -O3 で、CPUは、x86_64でなっています。(AMD FX-4170) 処理した文字列は、約100Mバイト分になります。 宜しくお願いします。

  • ソフトのバージョンの後ろの数字ってなんですか?

    Voice Changer 7.0 Diamond というソフトをダウンロード販売で買いました ヨドバシ・ドットコムからダウンロードするか、shareEDGEのページからダウンロードするか・・・少し悩んで結局ポイントやサポートの事情からヨドバシ・ドットコムで購入しました ただ・・その際に・・・バージョンの後ろについてる数字が異なるのが気になりました shareEDGEのページからダウンロードすると7.0のうしろに48という数字が付いてます ヨドバシ・ドットコムだと7.0のうしろに31という数字が付いてます この数字が意味する違いはなんでしょうか? http://www.yodobashi.com/ec/product/100000086580105787/index.html?gclid=CJ-jzOy877ICFRBTpgodQBsAFQ http://www.shareedge.com/modules/shareware/view.php?lid=20061005-011&gid=3

  • C言語のポインタと文字列についての質問です。

    Cを勉強中です。 char *c; c ="ABC"; printf("%s",c); と書くのは危険だから絶対だめだというサイトと、別に書いても大丈夫だというサイトがあるのですが、 どちらが正しいのですか? 後、もし危険ならば簡単になぜか教えていただければ嬉しいです。

    • nktos
    • 回答数8
  • 処理が異常に遅い原因はわかりますか?

    久しぶりに、(perlのXSのために)C言語を組んでみましたが、 以下のコードが、異常に遅いようでした。 (実際には、違う処理ですが、これでも遅くなりましたので、単なる文字コピーです) 例えでいえば、同じことをする数文字のperlの正規表現処理の数100倍の時間がかかっていました。 void hoge(char *dst, char *src, int len) { int i; for(i = 0; i < len; i++) { *dst++=*src++; /* ここをなくすと、爆速になる */ } } ※strlenで当初は試していましたが、ほとんどかわりありません。 どこが、原因でしょうか? 以下のコードは、きちんと爆速で動作してくれます。 void hoge(char *dst, char *src) { for(; *dst++ = *src++;); } コンパイルオプションは gcc -O2 または gcc -O3 で、CPUは、x86_64でなっています。(AMD FX-4170) 処理した文字列は、約100Mバイト分になります。 宜しくお願いします。