FeliCaを使用した認証システムを開発しています。
認証方法
(1)PCに個人情報(IDm、名前)の登録を行う。この際、テキストファイル名をIDm(例 01 02 03 05.txt)としファイル内に名前を書き込む。
(2)リーダー/ライターにFeliCaをかざし、IDmを読み取る。
(3)ファイル内の情報を出力させる。
CUIでは、動くのですがGUIで動かすにはどこを替えればいいのでしょうか?
認証というボタン押すと登録された名前を出力させる感じです。
以下にCUIのコードを載せます。
// sample.cpp -*-c++-*-
#include <cstdio>
#include <cstdlib>
#include "felica.h"
int main(void);
void error_routine(void);
void print_vector(char* title, unsigned char* vector, int length);
int main(void)
{
char file[28];
char kawa[6]=".txt";
int i;
FILE *fp;
int ninzu = 0;
char name[100];
//ライブラリの初期化
if (!initialize_library()) {
fprintf(stderr, "Can't initialize library.\n");
return EXIT_FAILURE;
}
//リーダ;ライタの自動認識とオープン
if (!open_reader_writer_auto()) {
fprintf(stderr, "Can't open reader writer.\n");
return EXIT_FAILURE;
}
//ポーリングのための宣言
structure_polling polling;
unsigned char system_code[2] = {0x00, 0x00};
polling.system_code = system_code;
polling.time_slot = 0x00;
unsigned char number_of_cards = 0;
structure_card_information card_information;
unsigned char card_idm[8];
card_information.card_idm = card_idm;
//ポーリングとカード情報の取得
if (!polling_and_get_card_information(&polling, &number_of_cards, &card_information)) {
fprintf(stderr, "Can't find FeliCa.\n");
return EXIT_FAILURE;
}
fprintf(stdout, "number of cards: %d\n", number_of_cards);
print_vector("card IDm:", card_idm, sizeof(card_idm));
//card_idmをfileに書き込む
sprintf(file,"%02x %02x %02x %02x %02x %02x %02x %02x",card_idm[0],card_idm[1],card_idm[2],card_idm[3],card_idm[4],card_idm[5],card_idm[6],card_idm[7]);
for(i=23;i<28;i++)
file[i]=kawa[i-23];
printf("%s\n",file);
if((fp=fopen(file,"r"))==NULL)
printf("情報が登録されていません\n");
else{
while(fscanf(fp,"%s",name)==1){
printf("%-10s\n",name);
ninzu++;
}
fclose(fp);
}
//リーダ。ライタのクローズ
if (!close_reader_writer()) {
fprintf(stderr, "Can't close reader writer.\n");
return EXIT_FAILURE;
}
//リーダ。ライタを開放する
if (!dispose_library()) {
fprintf(stderr, "Can't dispose library.\n");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
void error_routine(void)
{
enumernation_felica_error_type felica_error_type;
enumernation_rw_error_type rw_error_type;
get_last_error_types(&felica_error_type, &rw_error_type);
printf("felica_error_type: %d\n", felica_error_type);
printf("rw_error_type: %d\n", rw_error_type);
close_reader_writer();
dispose_library();
}
void print_vector(char* title, unsigned char* vector, int length)
{
if (title != NULL) {
fprintf(stdout, "%s ", title);
}
int i;
for (i = 0; i < length - 1; i++) {
fprintf(stdout, "%02x ", vector[i]);
}
fprintf(stdout, "%02x", vector[length - 1]);
fprintf(stdout, "\n");
}
どなたかご教授よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
SDK for FeliCaを使われているようなので対象はWindowsだと思いますが、Visual C++を使うかVisual C#でプログラムを書かれてはいかがでしょうか。
(SDKのDLLはVC++から呼び出すのが一番簡単です。C#から呼び出すには其相応の知識が必要ですが)なお、普通のCUI用のコードにいくつか命令を足したらGUI用になるというわけでもありませんので、まずは簡単にGUIが使える言語(というかVisualStudioの使い方)を学ばれるのが一番かと思います。
あと、蛇足だとは思いますが、認証システムにしてはセキュリティに欠ける様な気もしますので、もう少し工夫した方が良いと思います。
No.1
- 回答日時:
お疲れ様です。
まず、聞きたいことをタイトルにすべきではないでしょうか?
「GUIアプリケーションの作成方法について」等
タイトルと聞きたいことの本質が違っていた場合に、質問を受ける側としては何を聞きたいの?と分からなくなります。
GUIで動かす方法について。。。
対象とする環境(OS,言語)は何でしょうか?
対象によってGUIアプリを構築する方法は変わってきます。
※Java等は環境依存しないようになっていますが。。。
→100%ではありません。
まずは、環境をどうぞ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
なぜCSQとCIP形式ではコ...
-
c言語でのfscanfについて
-
fgets( ) の返り値は何?
-
txtファイルの文字を配列に格納
-
c言語 ファイルから数字を読み...
-
【C言語】ファイルを読み込んで...
-
日本語ファイル名のFTPについて
-
C言語 連番データの読み込み
-
C言語を用いて、csvファイル内...
-
複数ファイルの同時読み込みの...
-
ガンマ変換 C言語でプログラ...
-
lockfについて
-
構造体とファイル検索(><)
-
C言語でファイル読み書きを早く...
-
ファイルへの書込み処理が異常...
-
fgets関数の利用 c言語
-
OpenGLによる描画内容をBMP出力
-
C言語 ファイル入出力について
-
CSVファイルの内容を構造体に格...
-
C言語でファイル名を変数にした...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語でのfscanfについて
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
複数ファイルの同時読み込みの...
-
fgets( ) の返り値は何?
-
テキストファイル内に対して, ...
-
ファイルへの書込み処理が異常...
-
C言語にてXMLファイルから任意...
-
ファイル出力で改行を入れたい!
-
C言語でセグメンテーションエ...
-
エラーがわかりません、、
-
ガンマ変換 C言語でプログラ...
-
自己相関関数を求めるプログラ...
-
VisualStudioでのファイルの入...
-
同時にファイル読み込み 書き込み
-
c言語 ファイルから数字を読み...
-
大量の入力ファイルを扱うとき...
-
ファイルが読み込めない・・・
-
【C言語】ファイルを読み込んで...
-
a*(1-exp(-bx))+cの近似の方法
おすすめ情報