Quantcast
Channel: OKWAVE 閲覧数の多い質問(C・C++・C#/250)【本日】
Viewing all 50953 articles
Browse latest View live

C#で、USBなどに差し込まれたリムーバブルディスクのドライブパスを動的に取得するには

$
0
0
デジカメなどで撮影した写真を一気にPCの作業用フォルダにコピーする というアプリを作っているのですが、そのときのリムーバブルディスクを FolderBrowserDialogなどを介さずに、動的に求めたいのですが、 その方法を教えていただけないでしょうか。 手順は… 1,アプリ側で『メディアを挿入してください』などのメッセージが出る。 2,USBにメディアを差し込む 3,動的にドライブパスを取得し、『~からファイルを取得します。よろしいですか?』とメッセージボックスが出る。 4,OKを押すと、コピーが始まる。 …となっております。 3のところを調べております。 宜しくお願いいたします。

CreateProcessでのウィンドウサイズの指定方法

$
0
0
CreateProcessでプログラムを実行するようなプログラムを作成した際に表示されるウィンドウサイズを最大化したり最小化したりするのではなく、ある大きさにしたいのですが、うまくいかないのでご存知の方教えてください。 BOOL testProgram; STARTUPINFO si; PROCESS_INFORMATION pi; memset(&si,0,sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOWDEFAULT; si.dwXSize = 500;  si.dwYSize = 400; // 例えばこんな風にサイズを指定したいのです testProgram = CreateProcess( NULL, "**.exe", // ここには具体的なものが入ります。 NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ); if(testProgram!=TRUE)return FALSE; WaitForSingleObject(pi.hProcess,INFINITE); CloseHandle(pi.hProcess); このようなプログラムを書いてみたのですがうまくいきません。(プログラムは抜粋です) 何かいい方法ご存知の方教えていただけないでしょうか? よろしくお願いします。

C# テキストファイルの中身のみを削除

$
0
0
テキストファイルの中身(内容)だけを削除したいのですが... フォルダやファイルを削除するのはできます。 しかし、中身(内容)のみを削除するにはどうしたらよいかわからずにいます。 教えていただけませんか?? お願いします。

cout と cerrの違い

$
0
0
こんにちわ。 どうも初歩的な質問だと思うのですが、教えてください。 C++で、cerrとcoutの違いは何なのでしょうか? どちらも同じように出力できますし。 自分でエラー表示を出力させたいような時にcerrを使えばよいのでしょうか? 使い分ける必要がいまいち分かりません。 お暇なときにでもお願いします。

Microsoft Visual C++でのエラー「fatal error C1014: インクルード ファイルが多すぎます : 深さ = 1024」について

$
0
0
タイトルに書きましたが、Microsoft Visual C++で実行(?)した際に、エラーがある時は下の欄にいろいろ出てくると思いますが、先ほど「fatal error C1014: インクルード ファイルが多すぎます : 深さ = 1024」というエラーがでてきました。 絶対にあってるだろう簡単なプログラムでも毎回そうなってしまします。 どういうことなのでしょうか? 初心者なのですがよろしくお願いします。

スレッドセーフな関数readdir_rに関して

$
0
0
C言語初心者です。 readdirにてディレクトリ検索を実施しようと思ったのですが、 スレッドセーフな関数ではないとのことから、 readdir_rにてプログラミングを行う予定でいます。 しかし、関数を調べてみたところ、パラメータが何をさしているのか、 リターン値は何を返すのか等の情報がどこにも見当たりません。 現在わかっているのは、下記の定義であることのみです。 int readdir_r (DIR *, struct dirent *, struct dirent **) こんなことを聞くのは場違いかもしれませんが、 readdir_rの仕様をご存じの方、もしくは説明が書かれている Webをご存じの方、大変申し訳ございませんが、 ご教授頂けますよう宜しくお願い致します。

コンボボックス表示文字列を取得する場合

$
0
0
VC++ver6.0を使用しています。 コンボボックスのドロップダウンリストより 表示されている文字列を取得しようと思い、 下記のようにコーディングを行いました。 コンボボックスメンバ変数名:m_combo_year ON_CBN_SELCHANGE(IDC_COMBO_HYOJI_SEIREKI, OnSelChangeComboHyojiSeireki) void CKoyomiDlg::OnSelChangeComboHyojiSeireki() {  CString strComboYear;  m_combo_year.GetWindowText(strComboYear); } 実行すると、 ドロップダウンリストを 初期値2007 → 2006選択 → 2005選択 と、2回選択した場合 取得する値は 起動せず → 2007 → 2006 と、「選択した値」ではなく「表示していた値」を取得してしまいます。 何か解決策はございますでしょうか。 宜しくお願い致します。

Winsock Connnect タイムアウト について

$
0
0
OS :WinXP SP3 言語:VC++ 2005 Winsock2の通信モジュールを開発中です。 connectのタイムアウト方法をネットで調べて下記の関数を 作成(完全引用)したのですが、上手くいきません。 WSAWaitForMultipleEventsでイベントが発生していない (接続先が存在しない)のですが処理が返ってきてしまいます。 何か間違っているのでしょうか?ご回答、宜しくお願い致します。 ----------------------------------------------------------------BOOL connect2 ( SOCKET aSock, char* dwAddr, int wPort, int nTimeout ) { int liRet, liErr, liRetflag = FALSE; unsigned long lulAddr = inet_addr ( dwAddr ); WSAEVENT hEvent; DWORD dwRet; WSANETWORKEVENTS Events; sockaddr_in Addr; // イベント作成 hEvent = WSACreateEvent(); if ( hEvent == WSA_INVALID_EVENT ) { return FALSE; } // イベント型に(自動的にノンブロッキングになる) liRet = WSAEventSelect( aSock, hEvent, FD_CONNECT ); if( liRet == SOCKET_ERROR ) { WSACloseEvent( hEvent ); return FALSE; } // 接続 ZeroMemory( &Addr, sizeof( Addr ) ); Addr.sin_family = AF_INET; Addr.sin_port = htons( ( unsigned short )wPort ); Addr.sin_addr.s_addr = lulAddr; if ( connect( aSock, ( struct sockaddr* )&Addr, sizeof( Addr ) ) == SOCKET_ERROR ) { liErr = WSAGetLastError(); // WSAEWOULDBLOCKの時はまだ接続されていないので続ける if ( liErr != WSAEWOULDBLOCK ) { goto END; } } *** ↓ここですぐ返ってきてしまい、WSA_WAIT_TIMEOUTにならない *** // イベント発生待機 dwRet = WSAWaitForMultipleEvents( 1, &hEvent, FALSE, 60000, FALSE ); // dwRetがWSA_WAIT_EVENT_0以外でエラー // dwRetがWSA_WAIT_TIMEOUTの時タイムアウト if ( dwRet != WSA_WAIT_EVENT_0 ) { goto END; } // どのイベントが発生したか liRet = WSAEnumNetworkEvents( aSock, hEvent, &Events ); if( liRet == SOCKET_ERROR ) goto END; // Events.iliErrorCode[FD_CONNECT_BIT]が0の場合成功 if( ( Events.lNetworkEvents & FD_CONNECT ) && Events.iErrorCode[FD_CONNECT_BIT] == 0 ) { liRetflag = TRUE; } END: // イベント型を終了 WSAEventSelect( aSock, NULL, 0 ); WSACloseEvent( hEvent ); // ブロッキングに戻す(必要なら) dwRet = 0; ioctlsocket( aSock, FIONBIO, &dwRet ); return liRetflag; } ----------------------------------------------------------------

C言語 代入演算子の意味をおしえてください

$
0
0
今、C言語を勉強しているものですが、代入演算子でわからないことがあるのでおしえてください。 *=, %=, -= などはわかるのですが、 <<=, >>=, &=, ^=, |= の意味がわかりません。 どなかか教えてください。よろしくお願いします。

【C#】textBoxの指定行のデータを削除

$
0
0
凄く基本的なことかもしれないのですが色々検索しても見つからなかったので質問させてください。 Visual C# 2010を使っています。 textBoxのMultiLineをtrueにして複数行書けるようにしています。 そこで、プログラム上で指定の行を削除したり書き換えたりする方法を知りたいです。 指定の行のデータを取得する方法はわかったのですが、応用できませんでした。 MessageBox.Show(textBox1.Lines[0].ToString()); で、1行目のデータをMessageBoxで表示できました。 なので、以下のように書けば削除できるかと思いましたがダメでした。 textBox1.Lines[0] = ""; もしくは textBox1.Lines[0].Remove(0); 目的は、以下のような複数行のデータがあった場合に指定の行を消すといったことです。 1234 5678 9012 で、例えば、2行目を消して 1234 9012 としたいです。 textBox1.Text = textBox1.Text.Replace(textBox1.Lines[0], ""); とやって置き換えることはできるのですが、同じデータがある場合に全て置き換わってしまうのと、改行が残ってしまうので微妙です。 よろしくお願いします。

VS_EXPBSLN_x64_jpnとは?

$
0
0
Cドライブに VS_EXPBSLN_x64_jpn というのが2つあるのですが、これは何でしょうか? 削除しても大丈夫ですか?

C言語初心者の質問失礼します。

$
0
0
C言語初心者の質問失礼します。 プログラムを作って、cygwinでコンパイラしたのですが、以下のようなエラーメッセージが出てしまいました。 expected declaration or statement at end of input どのような意味なのか教えてください。 ばかみたいな質問でごめんなさい…。

CStringをwchar_tに変換したい

$
0
0
CStringをwchar_tに変換したく思い、ネットで探したところ、 http://msdn2.microsoft.com/ja-jp/library/ms235631(VS.80).aspx のページを見つけたので、下記のプログラムを組んで実行してみましたがエラーになって しまいます。 【プログラム】 CString orig("Hello, World!"); // Convert to a char* const size_t newsize = 100; // Convert to a wchar_t* // You must first convert to a char * for this to work. size_t origsize = strlen(orig) + 1; size_t convertedChars = 0; wchar_t wcstring[newsize]; mbstowcs_s(&convertedChars, wcstring, origsize, orig, _TRUNCATE); 【エラー】 error C2664: 'strlen' : 1 番目の引数を 'CString' から 'const char *' に変換できません。 error C2664: 'mbstowcs_s' : 4 番目の引数を 'CString' から 'const char *' に変換できません。 &CStrinをconst char *でキャストしてもうまくいきません。 どこがおかしいのでしょうか? 【環境】 WindowsXP+VC++2005

C言語---ファイルに出力したデータをすべて消去する方法

$
0
0
C言語の話です。 はじめ、ファイルを"w"モードで開き、 fprintfで繰り返してデータをファイルに書き込んで、 ある条件(何らかのエラーがおきた場合)には今まで書き込んだものは すべて 消去します。 (つまり、ファイルを再び空にするという意味です。) この場合、もうこれ以上ファイルに書き込むことはしないで、プログラムは終了します。 書き込んだものを消去するには、どのようにすればよいですか。 「一度ファイルを閉じて、再び"w"モードで開き、また閉じる」 というのが私が考えるいちばん簡単な方法なんですが、 ファイルの中身を消去するために開いたり閉じたりしなきゃいけないの? という気もします。 本で見ると、freopenという関数が使えそうな気もしますが、 わたしはこの関数を使ったことがありませんし、 解説を読んでも、本当にこのような場合に使うものなのかな、 という感じがします。 そんなにプログラミングに詳しくないので、やさしくご回答いただけるとたすかります。

ファイルクローズ(fclose)でエラーを発生させる方法

$
0
0
ソースには一切手を加えず、(5)ファイルのクローズでエラー表示させる方法はないでしょうか。 #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp;/* (1)ファイルポインタの宣言 */ char s[256]; /* (2)ファイルのオープン */ /* ここで、ファイルポインタを取得する */ if ((fp = fopen("smpl.txt", "r")) == NULL) { printf("file open error!!\n"); exit(EXIT_FAILURE);/* (3)エラーの場合は通常、異常終了する */ } /* (4)ファイルの読み(書き)*/ while (fgets(s, 256, fp) != NULL) { /* ここではfgets()により1行単位で読み出し */ printf("%s", s); } if((fclose(fp)) == EOF){/* (5)ファイルのクローズ */ Logging(cfancname, 2); printf("ファイルクローズに失敗しました\n"); return -1; } return 0; } 宜しくお願いします。

Cygwinでmakeコマンドが使えない(Vista)

$
0
0
今までFedora-Linuxで使っていたプログラムをWindows上で実行するために、VistaにCygwinをインストールし、使い始めていることろです。 Makefileを使いコンパイルをするため [make]や[make -f Makefile]などをコンソールに入力しても、 bash: make: command not found が出てしまいます・・・。これを解決したいのです。 これは、Linux上でいつも行っていた操作と全く同じです。 Cygwin用にMakefileを書き換える必要がある、何かのツールをインストールする必要がある、makeに代わる何かのコマンドが存在する・・・ など、あるのでしょうか?

ウィンドウのフレームの色変更

$
0
0
<環境> Win98 VC++6.0 MFC よろしくお願いします。 ダイアログのボタン押し下げにて、新規にウィンドウを作成しています。 新規に作成したウィンドウのクライアント領域の色は、 CPaintDC dc(this); // 描画用のデバイス コンテキスト CRectcr; GetClientRect( &cr); dc.FillSolidRect( cr, RGB( 250, 250, 0)); dc.DrawText( moji,cr, DT_SINGLELINE | DT_VCENTER | DT_CENTER); にて変更することが出来ました。 クライアント領域の外側にあるフレームの色も変更したいのですが、 どのようにすれば実現可能でしょうか? ご存知の方、教えてください。お願いします。

ManagementClassが見つからない。

$
0
0
ManagementClassが見つからない。 質問させてください。 C#でWMIを使用したプログラムを作成しています。 using System.Management;を記述して、ManagementClassを宣言したのですが、ビルド時に「ManagementClassが見つからない」という旨のエラーが出ます。 ネットで調べる限りではusing System.Management;を記述するだけでManagementClassを使用できるように思うのですが、まだ何か足らないのでしょうか? どなたかお知恵をお貸しください。 よろしくお願いします。

DataSetから、DataTableを取得したい。

$
0
0
C♯環境です。 DataSetに格納されている1つのテーブルを、DataTableとして 取得したいと思っています。 VB.NETではたしか出来たと思うのですが… DataTable Dt= DataSet.Tables(0); 以上のように書くと、「~Tablesはプロパティですがメソッドのように 使用されています」と怒られます。 出来ないのでしょうか…? 誤りをご指摘いただけるとありがたいです。 宜しくお願いします。

LNK2001(Pro*c)

$
0
0
現在、Net8でOracleのデータを参照する、Cの関数を作成しているのですが、 自分で作成したライブラリをリンクして、呼び元をコンパイルすると (Windowsの場合)LNK2001エラーが発生します。 --------------------構成: XXXX - Win32 Debug-------------------- コンパイル中... XXXX.cpp コンパイル中... XXXX.cpp リンク中... XXXX.lib(XXXX.obj) : error LNK2001: 外部シンボル "_sqlcxt" は未解決です Debug/XXXX.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー XXXX.exe - エラー 2、警告 0 -------------------------------------------------------------- となり、UNIXだと、 -------------------------------------------------------------- 未定義の               最初に参照している シンボル               ファイル sqlcxt                XXXX.o ld: 重大なエラー: シンボル参照エラー。XXXX に書き込まれる出力はあ りません。 *** Error code 1 make: Fatal error: Command failed for target `XXXX' -------------------------------------------------------------- となり、sqlcxtを認識出来ていない様です。 ちなみにsqlcxtは、.pcをプリコンパイルすると、.cに吐かれる、 SQLLIBの関数の様です。 Pro*cのライブラリをリンク出来ていないのかと思い、現在いろいろと 調べているのですが、解決できません。 上記では、情報が不足しているかもしれませんが、どなたか御教授下さい。 宜しくお願いします。
Viewing all 50953 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>