• ベストアンサー

VB6でprintfのようなこと

Cではよく、printf("%03d ", i); と書式設定すれば、気の利いたフォーマットで出力されますが、 VB6では、何か便利関数(サードパーティでも可)で同じことはできないでしょうか? またVB6で可変引数はできるのでしょうか?

  • hdkoa
  • お礼率0% (1/117)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

VB6ではFormat関数があります。 http://www.komonet.ne.jp/~vb/chap6.htm c言語で、書式文字列 http://www9.plala.or.jp/sgwr-t/c/sec05.html の重なる部分もあるが、 VBでは変換指定文字列のように別途関数やルーチンを使わないとできないものもある。 ーー >VB6で可変引数はできるのでしょうか http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_p06.htm 引数省略指定(Optional)のところ http://www.int21.co.jp/pcdn/vb/noriolib/vbcomp/1/lab10/types.html オプショナル引数

その他の回答 (1)

  • uki629
  • ベストアンサー率23% (40/172)
回答No.1

format()関数

関連するQ&A

  • printfが!

    int main(void){ .... while(!(i==EOF)){ num=0; while((i=fgetc(stream))!='\n'){ if(i==EOF) break; str[num]=i; num++; } kannsuu1(); kannsuu2(); } return 0; void kannsuu1(void){ printf("出力されない"); for(i=0;str[i]!=NULL;i=i+2){ printf("%c%c",str[i],str[i+1]);/*これも出力されない*/ } } void kannsuu2(void){ .... } 簡単に上記のように記述したプログラムがあるのですが、コンパイラの警告はまったくかかりませんでしたが、関数の中のprintfがdosプロンプトに出力されないのですよ。だれか心あたりがありましたらおしえてもらえないでしょうか? お願いいたします。

  • printf()で出力したいんですが?

    #include <stdio.h> int main( void ) { int air[4]; int i; i = 0; printf( "データ入力\n" ); do{ scanf( "%d\t", &air[ i++ ]); } while(air[ i - 1 ] > 0 ); printf( "%d\n", i ); return 0; } このプログラムはコンパイル出来ますが、期待していたprintf関数での出力ができません。 その理由として何がありますか?関数の使い方が間違っているのか、DO~WHILE文が使えない場所 なのか、もし直すとすればどう直せばいいのですか。

  • C言語のポインタのプログラムについての質問です。

    C言語のポインタについて質問です。 nこの配列データaを受け取り、それらの値をもとに、2つのデータを引数で受け取って交換する関数void swap(double *a,*b)を用いることにより最終的に降順に並べ替えて出力したのち、それらを平均(average)と標準偏差(standard deviation)を引数で受け渡す関数 void calc_ave_stddev(int n,double a[],double *ave,double*stddev)を利用して出力されるプログラムを教えてほしいです。 main関数内での書式は printf("enter n:"); scanf("%d,&n"); for(i=0;i<n;i++){ printf("enter a[%d]:",i); scanf("%lf"&a[i]); } main関数での結果の出力は、 for(i=0;i<n;i++){ printf("a[%d]=%lf\n",a[i]); } printf("ave=%lf stddev=%lf\n",ave,stddev); です。

  • 引数の数が可変な関数

    C言語の関数でいつも不思議に思うのですが printf("%sさんの成績は、%d点です。", name, score); printf("\n\n"); のように引数が可変な関数を作成したいのですが、どうすればよいでしょうか? CとC++の両方の書き方が知りたいです。 理解したいの解説している書籍なども探しています。

  • printfの引数指定でなぜ文字列ポインタがOK?

    C言語初心者です。現在入門的書籍の1冊目を読んで勉強中です。VBAは経験あります。 printf関数について質問です。 引数の指定で通常  printf("書式文字列", 変数で値) のようにしていしますよね。  char a = 'A';  printf("%c", a); ←ここで変数aの値の「A」を渡している と理解しています。 上の例で、書式文字列を省略し、  printf(a); だとエラーがでます。 しかし、文字列の場合  char a[] = "ABC";  printf(a); はエラーにならず、「ABC」と出力されます。 さらに、ポインタを使用して  char a[] = "ABC";  char *b = a;  printf(b); もエラーにならず、上と同様に「ABC」と出力されます。 まず、この2つの例で、エラーとならず、書式文字列が省略できているのが不思議です。 これが書式文字列を省略しているわけではないとするならば、 「printf(a)」=「printf(b)」=「printf("ABC")」ということになりますが、 「printf(a)」のaも「printf(b)」のbも"ABC"の先頭のアドレスを示しているんですよね。 ということは、printf関数の引数の指定方法は  printf(書式文字列 または 文字列の先頭アドレス, 変数) というように考えられるのですが、認識があっているでしょうか? そもそも文字列について、VBAでは文字と文字列の区別はなにも意識せずに扱えたのでやや戸惑っているのですが、C言語では文字列の場合は宣言時に  char a[] のように宣言し、あとは先頭のアドレスで文字列を使っていくという感じなのでしょうか? 初心者なもので何が理解できていないのかもよくわからない状況で、質問がわかりづらいかもわかりませんが、よろしくお願いします。

  • VB2008で和暦の表示について

    VB2008で和暦を扱いたいときは、JapaneseCalendarクラスを使う方法以外に、VB6のときのように Format(Now, "ggg e年m月d日 aaaa") というようなFormat関数で簡単に書式設定する方法はないのでしょうか。

  • VBのFORMAT関数

    VBのFORMAT関数についての質問です。 Format(変数,"!") "!"<--これの書式って どのような意味(書式)なんでしょうか? ランゲージレファレンスにも載っていませんでした。 よろしくお願いします

  • 標準C++ iostream での printf ライクな文字列書式整形

    ちらっと聞きかじったことがあるのですが、 最近、標準C++のiostreamに、従来のprintfによく似た 書式指定文字列 と 可変数の引数 による文字列整形 ができる機能(?)/マニピュレータ(?)が追加された、とか。 具体的な情報をご存知の方、教えていただけませんか。 iostreamで書式整形する場合、setfill, setw, ... のマニピュレータを 駆使してやりくりするのは、とても面倒だし、覚えられません。 自分にはprintfの方が使いやすいです。 ・・・このような理由で、上記の、iostream での printfライクな 文字列書式整形方法を探しています。 よろしくお願いします。

  • 可変個引数の関数

    今現在可変個引数をとる関数を作成しています。 物としてはprintfと同等のものなのですが、可変個引数の取得の方法がわからず停滞してしまっています。 printtest("%s",str); と記述してstrの中身が出力されるようにしたいのです。 どうかご助力のほどよろしくお願いいたします。

  • printf() フォーマットの定義について

    printf()関数を使ったコードをPHPで書こうとしています。 たとえば、「12.5 cm」をフォーマットするにはどのように書くことができますか? 自分で書いてみたのですが、どうやら間違っているようで、お分かりの方がいらっしゃいましたら教えていただけませんか。よろしくお願いします。                                    ↓                %6.2f %2c

専門家に質問してみよう