hidebun の回答履歴
- Googleドキュメントの安全性について
私は最近Googleドキュメントを使用し、家庭内の文書類を電子ファイル化し保存しています。 もちろん「共有なし」で使用しています。 例えば過去の年賀状をPDF化し、アップロードしています。 いつでもどこからでも、簡単に引き出せ、現物のようにかさばることも無く、とても便利に使わせてもらっています。 ところが先日、これを知人に伝えたところ(その知人の年賀状もあります)、後日になって、お前はとても危険なものを使っている。個人情報を漏洩させるのか。即刻やめろと言うのです。 私は当然、非公開で使用しており、これから一般化するクラウドコンピューティングの走りだと思い、Googleであればこそのセキュリティーが確保されているものと思っています。 ぜひとも皆さんの考え方やご意見、現状の危険情報などをください。
- 締切済み
- その他(インターネット・Webサービス)
- hiroakigoo
- 回答数8
- Googleドキュメントの安全性について
私は最近Googleドキュメントを使用し、家庭内の文書類を電子ファイル化し保存しています。 もちろん「共有なし」で使用しています。 例えば過去の年賀状をPDF化し、アップロードしています。 いつでもどこからでも、簡単に引き出せ、現物のようにかさばることも無く、とても便利に使わせてもらっています。 ところが先日、これを知人に伝えたところ(その知人の年賀状もあります)、後日になって、お前はとても危険なものを使っている。個人情報を漏洩させるのか。即刻やめろと言うのです。 私は当然、非公開で使用しており、これから一般化するクラウドコンピューティングの走りだと思い、Googleであればこそのセキュリティーが確保されているものと思っています。 ぜひとも皆さんの考え方やご意見、現状の危険情報などをください。
- 締切済み
- その他(インターネット・Webサービス)
- hiroakigoo
- 回答数8
- スレッドがサスペンドされているか知る方法
スレッドがサスペンドされているか知る方法 こんにちは。 Win32でプログラムしています。 スレッドを作成して、SuspendThread で停止することができますが、ResumeThreadで再開するにあたってスレッドがサスペンドされているか知る方法はあるのでしょうか? 別にフラグを用意しておきべきでしょうか?
- 締切済み
- C・C++・C#
- yakionigiriX
- 回答数1
- 個々の関数について継承しているかどうかを判定したいんですが、
個々の関数について継承しているかどうかを判定したいんですが、 class CBase {public: virtual int A(){return 0;} virtual int B(){return 0;} }; これが規定クラスだとして、 class CTest : public CBase {public: int A(){return 1;} int B(){return 1;} }; のクラスが存在します。 一番有効だと思ってるのが、上記を変えて CBase :: virtual int A(){throw this_base; return 0;} のように書けば判定できると思いますが、例外を使うよりもいい方法はありませんか。
- ベストアンサー
- C・C++・C#
- msms001999
- 回答数4
- 個々の関数について継承しているかどうかを判定したいんですが、
個々の関数について継承しているかどうかを判定したいんですが、 class CBase {public: virtual int A(){return 0;} virtual int B(){return 0;} }; これが規定クラスだとして、 class CTest : public CBase {public: int A(){return 1;} int B(){return 1;} }; のクラスが存在します。 一番有効だと思ってるのが、上記を変えて CBase :: virtual int A(){throw this_base; return 0;} のように書けば判定できると思いますが、例外を使うよりもいい方法はありませんか。
- ベストアンサー
- C・C++・C#
- msms001999
- 回答数4
- UPS APC製 C#2005でバッテリ容量の値を取得して、少なければシャットダウンさせるプログラムを書きたい
Windows 2008 Server の64bitOSを使っています。 UPSはAPC SUA2200JBと専用のRS232Cケーブルがあります。 C#2005でバッテリ容量の値を取得して、少なければシャットダウンさせるプログラムを書きたいのですが、そもそもUPSのデータは取得できるものなのでしょうか? このあたりに詳しい書籍やサイトをご存じの方、教えてください。
- UPS APC製 C#2005でバッテリ容量の値を取得して、少なければシャットダウンさせるプログラムを書きたい
Windows 2008 Server の64bitOSを使っています。 UPSはAPC SUA2200JBと専用のRS232Cケーブルがあります。 C#2005でバッテリ容量の値を取得して、少なければシャットダウンさせるプログラムを書きたいのですが、そもそもUPSのデータは取得できるものなのでしょうか? このあたりに詳しい書籍やサイトをご存じの方、教えてください。
- MATLABプログラミングをCのプログラミングに変換
MATLABでよくやる以下のプログラミング方法を効率よくCでプログラムするにはどうすべきですか? a=[]; for i = 1:100 a_k = [1 2 3 4];<<-a_kは1行4列の行列です a = [a a_k];<<-特にこの部分 end よろしくお願いします。
- 締切済み
- C・C++・C#
- bonzomania
- 回答数3
- MATLABプログラミングをCのプログラミングに変換
MATLABでよくやる以下のプログラミング方法を効率よくCでプログラムするにはどうすべきですか? a=[]; for i = 1:100 a_k = [1 2 3 4];<<-a_kは1行4列の行列です a = [a a_k];<<-特にこの部分 end よろしくお願いします。
- 締切済み
- C・C++・C#
- bonzomania
- 回答数3
- recv関数でフリーズしてしまう
現在Winsockを用いた簡単なパケット送受信のソフトを作成しています。 開発環境はVisual Studio2008で、ダイアログベースで作成しています。 パケットの受信側の処理なんですが、いつパケットが来てもいいように、 Ontimerで、定期的に受信処理をしようと思っています。 そこでOntimer内に以下のようにプログラムしたところ、コンパイルエラー はないものの、数秒経つと応答なしとなりフリーズしてしまいます。 原因を探ったところrecv関数が原因で、recv関数をコメントアウトした ところ、フリーズはしなくなりました。また、エラー処理は省略していま すが、ソケットの作成失敗などはありませんでした。 なぜrecv関数でフリーズが起きてしまうのか、原因が分かる方は いらっしゃいますか? OnTimer(UINT nIDEvent){ WSAData wsaData; SOCKET sock; struct sockaddr_in addr; char buf[2048]; WSAStartup(MAKEWORD(2,0), &wsaData); sock = socket(AF_INET, SOCK_DGRAM, 0); addr.sin_family = AF_INET; addr.sin_port = htons(12345); addr.sin_addr.S_un.S_addr = INADDR_ANY; bind(sock, (struct sockaddr *)&addr, sizeof(addr)); memset(buf, 0, sizeof(buf)); recv(sock, buf, sizeof(buf), 0); closesocket(sock); WSACleanup(); }
- C++プログラミングについて。
C++プログラミングについて。 VC++6.0にてプログラミングを行っています。 他の関数から(msec単位で)常時変化している変数(1か0)を受け取り、 その変化に対してリアルタイムで図形の処理をしたいと考えています。 とりあえず試験的に変数が1なら黒丸を描き、変数が0に変化したら白丸に切り替えるといった処理を考えています。 もちろん変数が0から1に変化したときも同様に白丸から黒丸に切り替わるといった具合に。 このような動作をさせるにはどのような操作を行えばよいのでしょうか? すでに変数が常時変化してるのもチェック済みで白丸、黒丸も描写できています。 あとはこの変数の変化をリアルタイムに近い形で渡すだけなのですが・・・ わかりにくいアバウトな質問ですいません。 よろしくお願いします。
- VISTA64bit,VS2005/C++で対象コンピュータを「x64
VISTA64bit,VS2005/C++で対象コンピュータを「x64」にして簡単なプログラムをビルドすると以下のエラーが出てしまいます。 「1>.\Debug\stdafx.obj : fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。」 OS :VISTA Ultimate64bit CPU :Xeon5080(64bit), 開発環境:VS2005 Team Edition for software developers完全インストール ◎OSもCPUも64bit対応なのに何故かモジュールのコンピュータは32bitでビルドしてしまいます。解決方法はありますでしょうか? 追記:気になることは、VS2005が普通の「Program files」のフォルダではなく「Program Files(x86)」に強制的にインストールしてしまうことです。
- VISTA64bit,VS2005/C++で対象コンピュータを「x64
VISTA64bit,VS2005/C++で対象コンピュータを「x64」にして簡単なプログラムをビルドすると以下のエラーが出てしまいます。 「1>.\Debug\stdafx.obj : fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。」 OS :VISTA Ultimate64bit CPU :Xeon5080(64bit), 開発環境:VS2005 Team Edition for software developers完全インストール ◎OSもCPUも64bit対応なのに何故かモジュールのコンピュータは32bitでビルドしてしまいます。解決方法はありますでしょうか? 追記:気になることは、VS2005が普通の「Program files」のフォルダではなく「Program Files(x86)」に強制的にインストールしてしまうことです。
- 卒論
下記のプログラムなのですが、入力ファイルがテキストだと上手くいくのですが csvだとうまくいきません。 ちなみに、入力ファイル内容は 13.csv tenb 42885415 123 255 236 tenb 42885415 252 498 452 といった内容が1500行程あります。 本当に困っていますどうか助けてください。 カンマも入ってるんです。 プログラム内容(本来はファイルを3つ入力しますが文字数の関係で1つにしています) #include<stdio.h> #include<stdlib.h> #include<math.h> main() { FILE *fin,*fin2,*fin3; char n[2000][1]; double g=0,z=0,p=0,p2=0,s[2000][10],,g2=0,z2=0,r,r1,r2,r3,r4,r5,r6; int w2=0,w1=0,w=0,a=0,b=0,i=0,j=0,k=0,m=0,u=0,y=0,a2=0,b2=0,i2=0,j2=0,k2=0,m2=0,u2=0,y2=0,i3=0,j3=0,a3=0,u3=0,y3=0,flag=0; if((fin=fopen("13.csv","r"))==NULL){ printf("入力ファイルがオープンできません.\n"); exit(1); } while( flag!=1 ){ if(j2==0) { fscanf(fin,"%s,",&n[i2][j2]); if(n[i2][j2] == EOF) { flag = 1; } } else { fscanf(fin,"%lf,",&s[i2][j2]); } j2++; if(j2>=5) { j2=0; i2++; } } for(i2=0;i2<=2000;i2++){ g2=sqrt((s[i2][2]*s[i2][2])+((s[i2][3])*(s[i2][3]))+(s[i2][4]*s[i2][4])); if(g2>max2 && g2<5000) { max2=g2; a2=i2; } } //printf("%5lf",sqrt((c[a][0]*c[a][0])+(c[a][1]*c[a][1])+(c[a][2]*c[a][2]))); //printf("%d",a+1); for(k2=a2-140;k2<=a2-40;k2++) { if(sqrt((s[k2][2]*s[k2][2])+((s[k2][3])*(s[k2][3]))+(s[k2][4]*s[k2][4]))>z2) { z2=sqrt((s[k2][2]-s[0][2])*(s[k2][2]-s[0][2])+((s[k2][3]-s[0][3])*(s[k2][3]-s[0][3]))+(s[k2][4]-s[0][4])*(s[k2][4]-s[0][4])); u2=k2; } } //printf("%5lf",z); //printf("%d",k+1); for(m2=a2+7;m2<=a2+50;m2++) { if(sqrt((s[m2][2]*s[m2][2])+((s[m2][3])*(s[m2][3]))+(s[m2][4]*s[m2][4]))>p2) { p2=sqrt((s[m2][2]-s[0][2])*(s[m2][2]-s[0][2])+(s[m2][3]-s[0][3])*(s[m2][3]-s[0][3])+(s[m2][4]-s[0][4])*(s[m2][4]-s[0][4])); y2=m2; } } printf("%5lf%5lf%5lf%5d%\n",sqrt((s[a2-1][2]*s[a2-1][2])+((s[a2-1][3])*(s[a2-1][3]))+(s[a2-1][4]*s[a2-1][4])),z2,p2,m2); r=sqrt((s[a2-1][2]-s[0][2])*(s[a2-1][2]-s[0][2])+(s[a2-1][3]-s[0][3])*(s[a2-1][3]-s[0][3])+(s[a2-1][4]-s[0][4])*(s[a2-1][4]-s[0][4])); fclose(fin);
- C++を使用してJPEG保存
いつもお世話になっています。 Visual C++ 2008(MFC使用)で開発を行っているのですが、 画面キャプチャーをJPEG保存する方法が今ひとつ分かりません。 Bitmap形式は簡単にできますが、JPEGは難しそうでした。 最終的にはHTML形式に出力するので、PNG、GIF形式による出力でも 結構です。 よろしくお願いします。
- C++Builderのチャートのズーム機能について。
C++Builderのチャートのズーム機能について。 C++Builderで、マウスドラッグでチャートを拡大する機能があります。 左上方向から右下へドラッグすると拡大されるようです。 拡大を何回か繰り返して、拡大する一つ前の波形に戻すにはどうしたらよいでしょうか? 右下方向から左上へドラッグする事で元の波形に戻すことはできるようなのですが、 ひとつ前の拡大波形に戻りたいんです。 方法があればどなたかご教授お願いします。
- ベストアンサー
- C・C++・C#
- smile_yuki
- 回答数1
- C言語でファイル読み書きを早くしたい。
いつも利用させてもらって助かっています。 あるプログラムを作成しているのですが、ファイル入力の部分がネックとなってしまって、全体が使いものにならない状況に陥っています。 たくさんのデータをfread1回で読み込むことにより、読み込み速度はずいぶんと改善されましたが、まだ圧倒的に遅い状況です。システムコールを使いましたが、ほとんど改善されませんでした。 読み込み/書き込みの速度を改善する方法として,SSDメモリを使ったりする方法があると思いますが,プログラムの観点から改善できるところはないでしょうか? 下に、ファイル読み込みの部分だけ記述したコードを添付させて頂いたので、改善できる点があれば、御指摘頂けると助かります。 なお、前提として, (1)データはスタック領域だと不足するので、ヒープ領域に確保 (2)データファイルは改行無しの一連のデータ とします。 ちなみに、環境は OS : CentOS5.3 memory : 6GB コンパイラ : gcc です。 よろしくお願いします。 //----------------------------------------------------- //通常バージョン #include <stdio.h> #include <stdlib.h> #define SIZE (512*1024*1024) //500MB int main(void) { unsigned long int i; unsigned char *data; FILE *fp; data = (unsigned char *)malloc(SIZE); if(data == NULL) { printf("メモリが確保できません\n"); exit(EXIT_FAILURE); } fp = fopen("filein.dat", "rb"); fread( data, sizeof( unsigned char), (int)SIZE, fp ); fclose(fp); /* //表示 for( i=0; i<SIZE; i++ ){ printf("%2x", data[i]); } puts(""); */ fp = fopen("fileout.dat", "w"); fwrite( data, sizeof( unsigned char), (int)SIZE, fp); fclose(fp); free(data); return 0; } //----------------------------------------------------- //readシステムコールを使ったバージョン #include <stdio.h> #include <stdlib.h> #define SIZE (512*1024*1024) //500MB int main(void) { unsigned long int i; unsigned char *data; data = (unsigned char *)malloc(SIZE); if(data == NULL) { printf("メモリが確保できません\n"); exit(EXIT_FAILURE); } int fd; fd = open( "filein.dat" ); read( fd, data, sizeof(unsigned char)*SIZE); close(fd); /* //表示 for( i=0; i<SIZE; i++ ){ printf("%2x", data[i]); } puts(""); */ FILE *fp; fp = fopen("fileout.dat", "w"); fwrite( data, sizeof( unsigned char), (int)SIZE, fp); fclose(fp); free(data); return 0; }
- C言語でファイル読み書きを早くしたい。
いつも利用させてもらって助かっています。 あるプログラムを作成しているのですが、ファイル入力の部分がネックとなってしまって、全体が使いものにならない状況に陥っています。 たくさんのデータをfread1回で読み込むことにより、読み込み速度はずいぶんと改善されましたが、まだ圧倒的に遅い状況です。システムコールを使いましたが、ほとんど改善されませんでした。 読み込み/書き込みの速度を改善する方法として,SSDメモリを使ったりする方法があると思いますが,プログラムの観点から改善できるところはないでしょうか? 下に、ファイル読み込みの部分だけ記述したコードを添付させて頂いたので、改善できる点があれば、御指摘頂けると助かります。 なお、前提として, (1)データはスタック領域だと不足するので、ヒープ領域に確保 (2)データファイルは改行無しの一連のデータ とします。 ちなみに、環境は OS : CentOS5.3 memory : 6GB コンパイラ : gcc です。 よろしくお願いします。 //----------------------------------------------------- //通常バージョン #include <stdio.h> #include <stdlib.h> #define SIZE (512*1024*1024) //500MB int main(void) { unsigned long int i; unsigned char *data; FILE *fp; data = (unsigned char *)malloc(SIZE); if(data == NULL) { printf("メモリが確保できません\n"); exit(EXIT_FAILURE); } fp = fopen("filein.dat", "rb"); fread( data, sizeof( unsigned char), (int)SIZE, fp ); fclose(fp); /* //表示 for( i=0; i<SIZE; i++ ){ printf("%2x", data[i]); } puts(""); */ fp = fopen("fileout.dat", "w"); fwrite( data, sizeof( unsigned char), (int)SIZE, fp); fclose(fp); free(data); return 0; } //----------------------------------------------------- //readシステムコールを使ったバージョン #include <stdio.h> #include <stdlib.h> #define SIZE (512*1024*1024) //500MB int main(void) { unsigned long int i; unsigned char *data; data = (unsigned char *)malloc(SIZE); if(data == NULL) { printf("メモリが確保できません\n"); exit(EXIT_FAILURE); } int fd; fd = open( "filein.dat" ); read( fd, data, sizeof(unsigned char)*SIZE); close(fd); /* //表示 for( i=0; i<SIZE; i++ ){ printf("%2x", data[i]); } puts(""); */ FILE *fp; fp = fopen("fileout.dat", "w"); fwrite( data, sizeof( unsigned char), (int)SIZE, fp); fclose(fp); free(data); return 0; }
- カメラを用いて動画から画像を取り込みトリミングしようとするプログラムを
カメラを用いて動画から画像を取り込みトリミングしようとするプログラムを作っています. 最下部のプログラムを貼り付けているところまででデバックしつつ実行すると "OpenCVwithDShow.exe の 0x00462614 でハンドルされていない例外が発生しました: 0xC0000094: Integer division by zero" とエラー文がでてきます. 色々考えたのですが、原因が分からないのでどなたかご教授お願いします. よろしくお願いします. //トリミング CvRect cvClipRect(IplImage *frame, CvRect r) { r.x = 240; r.y = 0; r.width = 1080; r.height = 1680; if (r.x < 0) {r.width += r.x; r.x = 0;} if (r.y < 0) {r.height += r.y; r.y = 0;} if (r.x >= frame->width ) {r.width -= r.x - frame->width ; r.x = frame->width - 1;} if (r.y >= frame->height) {r.height -= r.y - frame->height; r.y = frame->height - 1;} if (r.width > frame->width - r.x) {r.width = frame->width - r.x;} if (r.height > frame->height - r.y) {r.height = frame->height - r.y;} return r; } IplImage *cvCreateSubRectImage(IplImage *frame, CvRect r) { IplImage tmp; CvMat submat; cvGetSubRect(frame, &submat, cvClipRect(frame, r)); cvGetImage(&submat, &tmp); return cvCloneImage(&tmp); } //トリミング終了 int main (int argc, char **argv){ CvCapture *capture = 0; IplImage *frame = NULL; IplImage *frame1 = NULL; IplImage *reduce = NULL; int c; int x,y; int max,min; int h,s; uchar p[3]; LabelingSS labeling; short *src_buf; float centerX,centerY; HANDLE hCom; //トリミング関数 // (1)コマンド引数によって指定された番号のカメラに対するキャプチャ構造体を作成する if (argc == 1 || (argc == 2 && strlen (argv[1]) == 1 && isdigit (argv[1][0]))) capture = cvCreateCameraCapture (argc == 2 ? argv[1][0] - '0' : 0); /* この設定は,利用するカメラに依存する */ // (2)キャプチャサイズを設定する. cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE); frame1 = cvQueryFrame (capture); src_buf = new short[ frame1->width * frame1->height ]; // (3)カメラから画像をキャプチャする while (1) { frame1 = cvQueryFrame (capture); frame = cvCloneImage(frame1); //トリミング呼び出し CvRect cvClipRect(IplImage *frame, CvRect r); IplImage *cvCreateSubRectImage(IplImage *frame, CvRect r);