GOGOVのプロフィール

@GOGOV GOGOV
ありがとう数16
質問数0
回答数31
ベストアンサー数
12
ベストアンサー率
54%
お礼率
0%

  • 登録日2004/10/18
  • Win32アプリのデータ保存/読込の手段について

    【環境】WinXP/VC++6.0/Win32アプリ(MFC未使用) 【件名】Win32アプリのデータ保存/読込の手段について お世話になります。 下記前提のWin32アプリの場合、外部ファイルへのデータ保存/読込を行う手段として、INIファイル操作のAPI GetPrivateProfileStruct()とWritePrivateProfileStruct()等 を使用することが妥当かどうかについて、ご意見・ご指摘いただけますでしょうか。 【前提】 1)扱うデータは全てバイナリで、各データは構造体単位で管理する。 2)各データ(構造体)の容量は20バイト~100バイト程度。 3)各データ(構造体)は、カテゴリーとキーの組み合わせで一意に識別する。 4)関連のあるデータ(構造体)は同じカテゴリーとして管理する。 5)Windows32bitのマシン上での動作のみを想定している。 6)ファイル内での各データ(構造体)の開始位置は可変としたい。  ※データ(構造体)の種類と、容量が増減(構造体メンバの増減)する可能性があるため。 7)可能な限り、レジストリを使用したくない。 8)データ保存/読込の頻度は、アプリの起動時・終了時のみ。 【私見】 下記Win32APIの仕様が、前提1)2)3)4)6)を容易に実現するのに適している。 GetPrivateProfileStruct() WritePrivateProfileStruct() 【懸念】 前提5)に関して、MSDNではこれらの関数は16ビットWindowsアプリケーションとの互換性を保つために用意されているもので、 Win32アプリケーションではレジストリを使用するよう推奨されています。 以上よろしくお願いいたします。

    • meruty
    • 回答数5
  • 文字列の中から必要なデータを抜き出す

    VC++6.0 です。 計測機器から受信したデータ(文字列)の中から、必要なデータだけを抜き出したいのですが、 うまく抜き出すことが出来ません。アドバイスいただけませんでしょうか? 受信する文字列は 伝送制御キャラクタSTX(0x02) "文字列" 伝送制御キャラクタETX(0x03) のように受信します。 抜き出すための目印?がキーボードで入力できるような文字列の場合は過去ログにありました以下のコードで 抜き出すことが可能でした。 抜き出すための目印を 0x02 や 0x03 にする為にはどうしたら良いでしょうか?   //文字列版 #include <stdio.h> #include <string.h> #include <stdlib.h> char *cut(const char *str, const char *ss, const char *es, char *buff){ /* str の ss の次から es の前までの文字列をbuff に切り出す */ char *wk, *s, *e, *c; wk=strdup(str); if(wk==NULL)return NULL; s=strstr(wk, ss); if(s==NULL){ free(wk); return NULL;} c=s+strlen(ss); e=strstr(c, es); if(e==NULL){ free(wk); return NULL; } *e='\0'; strcpy(buff, c); free(wk); return buff; } int main(void){ const char url[]="?http://www.sample.ne.jp/";? char buff[32]; printf("//~/:%s\n", cut(url , "//", "/", buff)); return 0; }

  • ファイルの取得

    簡単な勤怠管理システムを作成したいと思ってます。 勤怠管理表を各自記入し、指定のフォルダにいれます。 その際、そのフォルダに自動でアクセスし自動でファイル名を取って、検索するようなプログラムを作成したいのですが、どのようなプログラムを書けばいいでしょうか。ご教示くださいませんでしょうか。 VBAやVCではなく、C言語でこの処理をやりたいのですが。

    • npc0222
    • 回答数4
  • VS.Net2003とVS.Net2005の互換性

    プログラミング初心者です。 職場のPCには、VS.Net2003がインストールされていて、勤務時間中はそれでプログラミングをしています。 一方、自宅のPCにはVS.Net2005がインストールされています。 本日、職場で行ったプログラムを自宅に持ち帰り、プログラミングをしようとしたところ、 VS.Net2005対応にファイルが変換されてしまいました。 その際「1箇所でも変更すると、旧バージョンでは使えません」というようなメッセージが出ました。 このような環境下で、(職場と自宅を)行ったり来たりは無理なのでしょうか? 完全互換とまでいかなくても、基本的な部分が互換していればよいのですが… VS.Netのなかで、よく使うのはC#とC++です。 何かよい方法がありましたら、アドバイスをいただきたいです。

  • デュアルディスプレイ下において,セカンダリディスプレイへの出力を指定する方法(visual C.net, DirectX)

    Visual C.net 2003+Direct X9.0にてプログラムしている初心者です.デュアルディスプレイ下においてメインのディスプレイではなくセカンダリのディスプレイへ描画するには,どのようにすればよろしいのでしょうか?  (調べるとっかかりや情報のある検索ワードがうまく見つけられず困っております.ご教示ください.)