mikan's technical note

仕事&趣味で実験した小技の備忘録です(Linux,windows,DOS等)

MENU

C言語

【C言語】SQLite3 で OPEN,SELECT,CLOSE(VisualStudio2017)

MFC & SQLite3 の勉強がてら VS2017でツールを作成中 とりあえず SELECT 関連のコードをメモ typedef struct tag_ListDb { // TABLE-GAME int iGame_Id; CString strGameTitleString; CString strPublisherName; int iReleaseYear; int iPlayers; CString s…

【C言語】UTF8 <-> SJIS 変換(VisualStudio2017)

何気に解決するまで時間を要したのでメモっておく 結果的に誰かのブログのまるパクリ(どこだったかは忘れました…) 感謝 #include "stdafx.h" #include <Windows.h> #include <string> std::string UTF8toSjis(std::string srcUTF8) { //Unicodeへ変換後の文字列長を得る int l</string></windows.h>…

【C言語】ポインタを理解するための第一歩(int型)

C未経験なのにCのプログラム改修をやらされている同僚くん… そんな彼にポインタの基本をわかってもらうために書いたサンプルです ※このあとchar型のポインタと配列でまた混乱している同僚くん…ガンバ!(^^;; プログラム sample.c #include <stdio.h> int main(void) {</stdio.h>…

【C言語】SymfowareのSELECT結果をCSV形式に変換する

// // SymfowareのSELECT結果をCSV形式へ変換 ※Solarisで動作確認済(1行32kまで対応) // (c) 2018 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // // 使い方:SQLtoCSV input [output] // 例)SQLtoCSV select.log // 例)SQLtoCSV selec…

【C言語】マルチスレッドの排他処理

Win32API CreateEvent() SetEvent CreateThread() WaitForSingleObject() WaitForMultipleObjects を使用したマルチスレッド排他処理の動作確認です。 // // 【スレッドで順次処理(順不同)】※Windows7で動作確認済 // (c) 2017 mikan // ※使用にあたっては…

【C言語】VisualStudio 2015 VC++ 「strcpy()」 コンパイルエラー回避方法

ちょっとお試しでコーディングしたところこんなエラーが出ました。 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. strcpyは使うなってことみたいです…

【C言語】printfで実行した行番号を出力する

// // 【printfで実行した行番号を出力する】※Solaris,RedHutで動作確認済 // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // #include <stdio.h> #include <stdarg.h> #include <errno.h> // printfマクロ #define DBGPRI(fmt, ...) debug_printf(__FILE__, _</errno.h></stdarg.h></stdio.h>…

【開発環境】Visual Studio Community 2015 のセットアップ

C#を試すにあたり、メジャーどころのVisualStudioをインストールしました。 (ネット環境が良くない&PCのスペックのせいもあってか、全行程は約30分)「Visual Studio Community 2015」 個人利用であれば無償、しかもフル機能なんです! ダウンロードはこ…

【C言語】改行コードCRLF(0x0d0a)形式ファイルを、改行コードLF(0x0a)形式ファイルに変換

// // 【改行コード CRLF(0x0d0a) -> LF(0x0a)】※Windows7で動作確認済 // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // #include <stdio.h> #include <string.h> #include <fcntl.h> #include <io.h> #include <sys/stat.h> // 【方法1】ファイルを、CRLF -> LF 変換 int CRL</sys/stat.h></io.h></fcntl.h></string.h></stdio.h>…

【C言語】CORBA通信定義用のIORファイルをざっくりと解析

// // 【CORBA通信定義用のIORファイルをざっくりと解析】 // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // // len : IORファイルのサイズ // in_buff : IORファイルの中身(文字列) // out_buff: 解析結果 // int IOR_Check(c…

【C言語 メモリマップドファイル】

// // 【メモリマップドファイル】※solaris10で動作確認済み // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/mman.h> #include <sys/stat.h> int main(int argc, char *argv[]) { int fd; // ファイルディ</sys/stat.h></sys/mman.h></unistd.h></fcntl.h></stdio.h>…

【C言語】windowsでtouchコマンドもどき

// // 【touchコマンドもどき】※Windows2000で動作確認済み // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // // 実行形式)touch ファイル名 年月日時分秒 // // 年月日時分の書式:[[CC]YY]MMDDhhmm[.SS] // // 実行例: touch …

【C言語】行末のスペースと改行を削除

// // 行末のスペースと改行を削除 // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 / int SpaceDelete(char *str) { int i; int len; // 文字列長 len = strlen(str); if(len > 0) { i = len - 1; } else { return -1; } // 改行…