C・C++・C#

全26354件中19601~19620件表示
  • error LNK2001: 外部シンボル "_main" は未解決です

    VisualC++6.0で、新規作成→win32 Dinamic-Link Libraryでプロジェクト を作成し、dllファイルを作っています。 今までは、上手くコンパイル出来て、dllを作れていました。 友人の作ったライブラリにリンクして、ソースファイルで そのライブラリの関数を使って、コンパイルすると、 LIBC.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です。 というエラーが出て困っています。 今、プロジェクトの設定→リンク→アウトプットの エントリポイントシンボルはDllEntryPoint@12となっています。 どうしたら良いでしょうか? どなたかご教授くださると助かります。 ちなみに、ライブラリの関数をコメントにすると、コンパイル出来ます。

  • 2進数、16進数使用例

    皆さんこんにちは。 先日後輩から、「2進数とか16進数って、どんな時にプログラムで使うんですか?」 と質問を受けました。 2進数や16進数→10進数、10進数→2進数や16進数の計算方法はわかりますが、 ”いつ、どこで、どのような場合”に使うかわかりません。 今は、パソコン自体の性能も向上し、メモリ不足という心配もなくなり、 ビット計算という機会も少なくなったせいかもしれませんが、私自身 プログラミングで見たり使ったりしたことがありません。 どなたかそういう使用例をご存知の方がおられれば、サンプルソースや そういう記事が載ってるサイトを教えて頂きたいと思います。 宜しくお願いします。

  • 多国語アプリケーションの実装方法

    VisualStudio.NET2003でSDKで開発しています。 多国語アプリケーションの実装を調べるとその多くはリソースを切り替える手法が取られてる様ですが… 日本語/英語程度なら可能ですが中国語や韓国語ではそもそもリソースにこれらの言語文字(中国語:gb2321、韓国語:euc-korean)を記載しても(Meadow使用)コンパイルの時点でコードが変みたいに言われてしまいます。 この辺りの問題を回避して多国語アプリケーションを実装する手法をご存知ありませんでしょうか?

  • Cコンソールで助言お願いします。

    Win2KSP4 VC6.0 あるデータの書かれたテキストファイルが、 060207200712.txt(06年02月07日20時07分12秒)のように YYMMDDHHMMSS形式で実行ファイル直下のtxtフォルダ(..\txt\)に多数あります。 不必要な情報も多くあるデータの中から 「..ABCDE:」で始まり「..」で終わる文字列のみを表示したいのです。 不要な情報も必要な「..ABCDE~..」の文字列も1ファイルに何度もあります。 そこで StrSpirit() char* strsplit(char* str,const char* delimstr) 文字配列str中からdelimstrと一致する部分を探し、 存在すればそこに文字列終了子を埋め込む。 http://sometime.minidns.net/~ccgi/ref/strsplit.html 上記の「文字列を区切りとして文字を切り出す」関数を利用し、 「..」を区切りとして、切り分けた後 表示する時に「ABCDE」の分だけ8文字分アドレスを進めようと考えています。 日付を入力し、その日付ファイルを全て(060207*.txt)読み込み 必要なデータのみを表示させ、十字キーなどで切り替え表示をしたいのです。 しかし1度表示させるのは出来たのですが、 while(1)などでループさせようとするとたちまちわからなくなります。 どなたか助言をお願いします。 int i = 0; int j = 0; int iHeadCnt = 0; char *p; str[512] = {0}; char elem[10][256]; char* e_head = str; // 最初は文字列の先頭を代入しておく // 1行目取得 fgets(str, 512, fp); // 1行目を".."で分割 for(i=0; (next=StrSplit(e_head,"..")) != NULL ; i++) { sprintf(elem[i],"%s",e_head); e_head = next; iHeadCnt++; } sprintf(elem[i],"%s",e_head); // ABCDE表示 printf("[ABCDE]\n"); for(j=0; j<iHeadCnt; j++) { p = strstr(elem[j], "..ABCDE"); if (p != NULL) { printf("%s\n\n",p+8); // 8文字右にずらして表示 break; } }

  • C# スレッドでフォームを扱う

    スレッドとフォームの連携について質問があります。 「開始」ボタンをクリックしたら、 「開始」ボタンのEnableをfalseにして 他のクラスのスレッドで処理を開始します (中断ボタンが押されたら処理をやめるためにスレッド採用) この時、処理が終わったら「開始」ボタンのEnableをtrueに戻したいのです。 デリゲートのコールメソッドを使ったところ、フォームを生成したスレッド以外からフォームををいじってはいけないというエラーがでてしまいました。 [a]ユーザー操作を待ち受けるフォームのスレッド [b]処理系のスレッド このようなスレッドの構成の時、[a]が[b]の処理が終わったことを知り、buttonのプロパティを変更するためには、どうすればよいでしょうか?

  • C/C++をはじめるためには

    C/C++言語の勉強をはじめようとしている者です。 始めようと考えたまではよかったのですが、どうしたら始める事ができるのか分からず、困っています。 私のプラントしてはC言語の勉強をしてからC++の勉強を始めようと思っています。 それはやはり、C言語を勉強してからの方がC++の勉強を進めやすいと考えるからです。(←コレは素人の考えかたでしょうか?) ネットで調べてみたりしたのですが、いきなり変数とはみたいなところから入っているのでよく分かりません。私はまず、C言語の勉強をするための環境を整えるところから知りたいのですが。 コンパイラというものを入れるだけで良いのでしょうか? また、エディタはメモ帳よりもサクラエディタやテラパッドのようなものを利用したほうが良いのでしょうか? 私は学生で本格的に開発しようとかというのではなく、C言語がある程度使えるようにするために勉強したいだけなのでお金はかけずにやりたいのですが可能でしょうか? C++についても上と同じことで悩んでいます。 最後に、勉強していく時に役に立つサイトなどがありましたら教えていただけませんか? よろしくお願いします。

  • カウンタ利用の再帰式

    下記に記述してあるプログラムを1~100までの2の倍数の和と積を求め、但し倍数の個数Nは、N=3に変えたいのですがどうすればいいのかわかりません。 どなたかご教授お願いします。 /* prog.c */ #include <stdio.h> #define N 5 main() { static int a[N]={1,2,3,4,5}; int S[N],P[N]; int i; a[0]=i; S[0]=a[0]; P[0]=a[0]; for(i=1;i<=(N-1);i++){ a[i]=i+1; S[i]=S[i-1]+a[i]; P[i]=P[i-1]*a[i]; } for(i=0;i<=(N-1);i++){ printf("i=%d,a[%d]=%d,S[%d]=%d,P[%d]=%d\n",i,i,a[i],i,S[i],i,P[i]); } }

  • 基礎だと思いますが、教えてください!初心者です。

    『0より大きい10個の異なる数字を入力したときに、 大きいものから順番に並び替えて表示する』プログラム の作り方を教えてくださいm(__)m 下に途中までですが、自分なりにやったものを載せておきます。 include <stdio.h> int main() { int input[10],max[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; int i,j; printf("0より大きい10個の異なる数字を入力してください\n"); for(i=1; i<=10; i++)/* 比べるものを10個入力する */ { printf("%d番目の数字を入力してください",i); scanf("%d", &input[i-1]); } for(j=1; j<=10; j++) /* 1つずつ調べている */ { for(i=1; i<=10; i++) { if(max[j-1] < input[i-1]) max[j-1] = input[i-1]; /* 結果をほかの配列に格納している */ input[i-1] = 0; /* 最大となったものを0にしたい,だけどその方法がわからない */ } /* これだと最大値が変わるごとにその値が0になってしまいます */ printf("%2d目の数は%2dです \n",j,max[j-1]); } return(0); }

  • タスクトレイのアイコンが消えてしまう。

    こんにちは。 今、タスクトレイに常駐するプログラムを作成しています。 プログラム起動するとすぐ、メインウインドウとタスクトレイにアイコンが 表示されます。 メインウインドウ右上の最小化ボタンまたは、終了ボタンを押すと メインウインドウが消えてタスクトレイのアイコンだけが残るように したいと考えています。 最小化ボタンの場合はWM_SIZEをキャッチして、ShowWindow(hwnd, SW_HIDE) で、メインウインドウだけ消え、タスクトレイのアイコンは残ります。 しかし、終了ボタンの場合は、WM_DESTROY をキャッチし、同じくShowWindow(hwnd, SW_HIDE) でメインウインドウを消しているのですが、メインウインドウだけでなく、 アイコンも消えてしまいます。アイコンを消さずに残すようにしたいのですが、 どうしたらよいでしょうか。WM_DESTROYでは、PostQuitMessage(0)はポストして おらず、最後にreturn 0;を返しています。 どうぞよろしくお願いします。 環境 BCC、WindowsXP、C言語、Win32 API

  • C# ToStringでの数字桁揃えの仕方

    C#でこの表記を double x = 5.5; Console.WriteLine("{0,2:0}個",x); このToStringを使って表したいのですが、どう表記すればいいのでしょうか? 桁揃え表示がわかりません。 double x = 5.5; Console.WriteLine(x.ToString("0"));

  • 初心者です。関数を使って長い文を短くしたい

    現在あるデータから数値を引用し計算する処理を行っていますが計算結果を2種類の配列に入力したいです。 簡単にいいますとまずある関数をつくりそこでデータから引用した数値を計算します。ここで計算結果が2つ出てくるんですがこれらの値を2種類の配列に入力したいです。 関数を使わずに計算処理を長く書けばうまくいくんですが長文のため関数を使って短くしたいです。 いい方法や訂正があればお願いいたします。 ---------------------------------------------- double Radius(int z,int LOOP) { for(i=0;i<3;i++) { A[i]=txx[i+z+LOOP]; B[i]=txy[i+z+LOOP]; } … ~計算処理~ … R[z]=sqrtl((A[2]-AX)*(A[2]-AX)+(B[2]-AY)*(B[2]-AY)); E=sqrtl(A12*A12+B12*B12); if(E==0 || R[z]==0) { O[z]=0; } else { O[z]=E/R[z]; } } return(R[z],O[z]); } のようにデータから数値をA[i]、B[i]に入力しこれらを計算処理します。そしてR[z],O[z]を求めてこれらを下のように配列に入力したいです。 R[0]=Radius(0,loop); … R[2]=Radius(2,loop); O[0]=Radius(0,loop); … O[2]=Radius(2,loop); ちなみにこのプログラムでは関数内で計算はできているんですがその後配列にうまく数値が入りませんでした。

  • 二値化について

    二値化についてです。 ある画像のオブジェクトにちょっとした陰影が 写りこんでいる場合、どのように閾値を与えることで うまく二値化できるでしょうか? 何かいい方法があったら教えてください!

  • エラーの意味がわかりません

    PIC16f877のプログラム(C言語)をデバックしてたら、 こんなエラーが出てきました。 : : Can't find 0x2F words (0x2F withtotal) for psect text0 in segment CODE (error) : : Can't find 0xE words (0xE withtotal) for psect text3 in segment CODE (error) : : Can't find 0x8 words (0x8 withtotal) for psect text7 in segment CODE (error) Exit status = 1 (error) 私にはどこがどんなエラーなのかまったく理解できません。もしわかる方がいらしたら教えてください。

  • CoCreateInstanceでエラーになる。

    こんにちわ。 いまVC++で開発している初心者です。 CoCreateInstanceという関数の箇所で, 戻り値が"0x80040154 (REGDB_E_CLASSNOTREG) " となってしまいます。 調べると「指定されたクラスが登録データベースに登録されていないか、dwClsContextパラメータで指定されたサーバータイプが登録されていないか、レジストリのサーバータイプ値が不正です。」 ということなんですが, 具体的にはどのような箇所を確認すれば良いでしょうか? 教えてください。 よろしくお願いします。

  • この意味を教えてください

    c = getchar(); while (c != EOF){ if (c != '\n') printf("入力文字の文字コードは,0x%2xです。", c); c = getchar(); } の中にあるif文(if (c != '\n') )は何を意味してるのでしょうか?宜しくお願い致します。

  • ハンドルされていない例外…

    こんにちわ。 いまVC++6.0で開発をしている初心者です。 プログラムを実行しようとすると, explicit _com_ptr_t(~ ~ _com_issue_error(hr);←この箇所に来たときに 下記のようなメッセージが出て エラーになってしまい困っています。 「ハンドルされていない例外はxxxxxx.exe(KERNEL32.DLL)にあります:xxxxxxx: Microsoft C++ Exception」 このようなエラーが出るときは何か設定等,足りないところがあるのでしょうか? 教えてください。 よろしくお願いします。

  • gcc バージョン違いによるコンパイルエラー

    C言語でWeb系のプログラムを作成している者です。 以前まで、OSはFreeBSD 4.11-RELEASE-p12・gccのバージョンは2.95.4でコンパイルできていたプログラムが、OSはFreeBSD 5.4-RELEASE-p8・gccのバージョンは・gccのバージョンは 3.4.2で、今まで出なかったようなエラーが沢山出現し、コンパイルできなくなってしまいました。 OSをインストールし直すのは、既に稼働中のサイトですので厳しく、GCCのバージョンを下げるかソースを書き換えるかして対処する方向で行きたいと考えております。 しかし、gccの2.95.4の圧縮ファイルはもう、gccの公式サイトに落ちておらず、バージョンダウンは難しそうです。 gccのバージョンによるコンパイルエラーを乗り越えた方、ご指摘など有りましたらお教えくださると幸いです。

    • ベストアンサー
    • noname#22805
    • C・C++・C#
    • 回答数5
  • Linux上でEclipseを使用してC++開発を行う方法

    Linux上でEclipseを使用してC++開発を行う方法が知りたいです。 CDTをプラグインすれば良いとのことですが、情報が少なくいまいち導入手順や特徴が分かりません。 EclipseでのC++開発について詳しく載っている書籍やサイトがありましたら、教えていただきたく思います。 他の開発環境と比べたメリット・デメリットなどの批評なども募集中です!

  • WinAPIでRECT構造体の宣言について

    PAINTSTRUCT ps; HDC hdc; RECT rct={200,200,200,200}; char *szStr = "あけまして\n\tおめでとう"; switch (msg) { case WM_PAINT: GetClientRect(hWnd, &rct); hdc = BeginPaint(hWnd, &ps); DrawText(hdc, (LPCTSTR)szStr, -1, &rct, DT_CENTER | DT_WORDBREAK); EndPaint(hWnd, &ps); break; のようにしているのですが文字列が表示される場所が中央上部です。 何故なのでしょう? 自分としてはど真ん中辺りから表示されるようにしているつもりなのですが

  • 文字列から文字列を検索するプログラム

    現在、C言語を学習しています。 文字列から文字列を検索する関数に「strstr]がありますが、自作関数として自分で作成する方法を考えております。 文字列から文字を検索する事は出来たのですが、文字列を検索するシーケンスがわかりません。 有識者の方、御教授よろしく御願い致します。