• ベストアンサー

VBA言語からC言語に書き換えで・・・

VBAのプログラムをC言語に書き直そうとしていますが、例えば VBAで t = Array("00", "01", "02", "03", "04") をCで記述しなおしたいのですが、どのように書くのが正しいのでしょうか? VBAとCの型の対応表があれば便利ですが、参考になるサイトがありましたら、教えてください。 また、CではLPCSTRなど(大文字で定義されている型?)について詳しく書かれている書籍などあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

LPCSTR LPは32bit(long)のポインタ Cはconst char STRはString(文字列)を意味し windows.hなりでtypedef(別名の定義)で定義されているものです。 つまりLPCSTRは const char*と置き換わっているだけです。 他にもよくつかわれるものとして BYTE・・・unsigned char WORD・・・unsigned short DWORD・・・unsigned long QWORD・・・unsigned __int64 LPCTSTR・・・const TCHARの文字列 LPCWSTR・・・const WCHARの文字列 等 ちなみにVisualStudioをお使いでしたら、マウスカーソルを 例えば「WORD」とかの上にもっていきしばらくすると ポップアップでなんのtypedefか表示されます。 VBのStringとかCurrencyは基本的にCに該当するものはありません。

参考URL:
http://www.gj.il24.net/~nakasima/prog/datatype.htm

その他の回答 (1)

回答No.1

例えば char *t[] = {"00", "01", "02", "03", "04"}; >LPCSTRなど(大文字で定義されている型?)について詳しく書かれている書籍などあるのでしょうか? 以下のページのような内容の本でしょうか。 http://www.it-engineer.jp/main/programing/sample/vc3.html LPCSTR等はおそらく(ごめん)windowsAPI固有のデータ型なので、 WindowsAPIについての書籍をあたればお望みのものがあると思います。 不確かでごめんなさい。

関連するQ&A

  • C言語を勉強したい。

    C言語でモーター、LED制御等行いたいのですが、参考書等はほとんど私の目的としたものに関係しない分野での参考プログラムです。 また、ロボット等のプログラムはアイコンをならべてプログラムを記述する方法ですが、肝心のC言語での記述は確認できません。 どなたか、モーター、あるいはLED等の制御を行うプログラム及びその解説,等がある参考書、キットなどご存じの方、教えて頂けませんか。 

  • C言語中でunixのコマンドを使いたい

    c言語でプログラムを作ってるんですが、カレントディレクトリ名や、ある名前のファイルが存在するかどうかや、あるファイル中にある文字列があるかどうかなどの判定を行いたいんですが、cで一から記述すると長くなりそうなので、pwcやfind、grepといったコマンドをc言語中で実行でると便利だと思ったんですが、そんな事ってできますかね?

  • C言語の基礎を勉強したいのですが。。。

    今C言語を独学で勉強しようとしています。 参考書や書籍を色々見て、試行錯誤してい いるのですが、イマイチ”ピン”ときません。 と言うよりは、C言語の分野自体に向いていない、 理解してないといったほうが正しいのかもしれません。 根本的に勉強したく、都合良すぎかもしれませんが、 関連のサイトやおすすめの本などありましたら是非 教えて下さい。簡単なプログラム自体あれば、参考に 記述頂けると幸いです。よろしくお願いします。

  • C言語についての質問

    C言語を勉強しているものです。 http://www.eleki-jack.com/arm/2011/02/mbed6-2.html 上記のページのプログラムについて int freq; double t=0.0 とありますが、freqというのは、何も定義されてないように思うのですが・・ AnalogInの信号だとは思うのですが、定義いなくてもいいのでしょうか? C言語にあらかじめ定義されているのでしょうか? あと、double t=0.0 というのは、初期値を設定しているのでしょうか? double t だけではだめなのでしょうか? どなたかわかる方、よろしくお願い致します。

  • C言語のお勧め本

    ゲームなどを制作するにあたり、C言語のお勧めの 参考書籍や出版社等ありましたら教えてください。 レベルは初心者と考えてくださって結構です。 ただ、私が本格的にプログラムを組むことは、あまり考えられません(^^; プランナやデザイナーの人が読んでおいたら、 プログラマーの方々と密にお話できるものがよいですね、 そんな便利な本ってあります??? とにかく、もっと予備知識をつけておきたいのです。 ちょとしたことでもお待ちしておりまーす、

  • C言語について

    C言語初心者です。 「かんたんC言語」という書籍で学習しております。 コマンドプロンプトでのプログラムの実行方法がよくわかりません。 教えて頂けないでしょうか?

  • CとC++の違い

    Cは覚えましたが、C++を勉強していませんでした。 LPCTSTRなどの大文字型の存在意義は、 const char *などと記述するのが煩雑になるために 使用されるようになったのでしょうか? これらの大文字の型を勉強するのに参考になる書籍はありますか? また、C++の場合はリンク時におかしな名前にするので extern "C" {}をしないとリンクできない ものが存在しますが、このようにC++で気をつけないといけないことが沢山かかれている辞典みたいな 書籍もあるのでしょうか?

  • C言語に関することについて教えてください

    学校の問題集にでてきた問題がわかりません、どうか教えてください 1 プログラムの役割、必要性について説明せよ 2 プログラムにおける変数と定数の役割を説明せよ。また、ローカル変数の有効な範囲について説明せよ。 3 C言語で使う変数が他について、宣言子と、printf関数、scanf関数それぞれにおいて対応する書式指定子を対応表にせよ。また、変数名を決める際に守るべき文法上の規則と、プログラマとして配慮すべき事項を説明せよ。 4 配列について、その役割と定義方法を説明せよ。 5 コンピュータにおける文字処理に必須なアスキーコードについて説明せよ。 6 C言語における文字列について、文字列定数、文字列変数を説明せよ。 7 C言語における繰り返し処理の文法(for,while,do~while)を、プログラムコード列を示して説明せよ。 8 C言語における条件判断の文法(if,else,else if)を、プログラム列を示して説明せよ。 9 繰り返し、条件判断において利用する論理式(等値演算子、関係演算子、論理演算子等で記迷する式)について、その記迷の方法を論理和、論理積も含めて説明せよ。 10 変数のアドレスについて説明せよ。また、ポインタについて、アドレスとの関連性を踏まえて、その役割と定義方法を説明し、具体的な使い方のプログラムコード例を示せ。 11 ポインタと配列の関係について、ポインタによる配列操作を列に説明せよ。 12 関数について、その役割と定義方法について説明せよ(戻りがた、関数名、引数リスト)。また、自作関数をそれらを利用するmain関数のプログラムコード例を示せ。 13 scanf関数の戻り値について、その内容を説明して、どのような際に利用すると便利か、プログラムコード例を示して説明せよ。 14 引数にポインタを利用する関数のプログラムコード例を示して、ポインタの必要性、重要性を説明せよ。 15 構造体について、その役割と定義方法を説明し、具体的な使い方のプログラムコード例を示せ。 16 ファイルポインタについて説明し、ファイル入出力の方法についてプログラムコード例を示して説明せよ。

  • C言語の参考書について

    大学の後期の授業でC言語の参考書を買ってくるように言われました。 でもどの参考書がいいのかわからないので教えてください!! 前期の授業では ・C言語で作成したプログラムのコンパイルと実行の 流れ ・コンパイルエラーのエラーメッセージの見方 ・実行時のエラーとプログラムの修正 ・C言語のプログラムの基本形 ・printf()と定数 ・変数 ・数値型 ・文字型 ・文字列 ・printf()の書式指定 ・プログラム記述時の約束、予約語 ・算術演算子 ・代入演算子 ・インクリメント、デクリメント演算子 ・比較演算子(関係演算子) ・式が持っている値 ・論理演算子 ・条件付き代入 を勉強しました。 その範囲は、まだちゃんとに覚えてないけど授業でもらったプリントを見れば一応できます。 それで先生いわく、参考書は入門編でもいいらしいんですけど、さらに実践編も買い足さなければいけないらしいんです。 今の状態で実践編でも大丈夫ですかねぇ??

  • C言語に関する質問

    C言語を独学で学んでいる者です。 配列に10桁の文字を格納して、そこから任意の1文字を探し出す(何番目に何の文字があると表示する)プログラムを作ってみたいのですが、どのように記述したらよいか分かりません。特に、10桁の文字列に同じ文字が複数含まれる場合は完全にどうしたら良いのかわからない状態です。 お分かりの方は、ぜひご教授願います。

専門家に質問してみよう