プログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
初心者

プログラム

#1

投稿記事 by 初心者 » 16年前

例えば
G01X100Y100
X200
Y300
G02

とすると最初の行はG01でX=100Y=100
次の行はG01でX=200,Y=100
最後の行はX=200Y=300のように
①Gは次のGがあるまでその値を引き継ぎ
②XやYは記入がないならば前の値を引き継ぐという風にしたいのですが
FILE *fp;
   char *str,buf[1000];
  char subbuf[100],*s1;
    char buf2[100],*s2;
  char buf3[100],*s3;
    char buf4[100],*s4;
static double bx=0;
static double by=0;
     if ((fp = fopen("test.txt", "r")) == NULL) {
		printf("ファイルが開けません\n");
		 return EXIT_SUCCESS;
               }
        while (fgets(buf, 1000, fp) != NULL) {
	    str=buf;
       while((*str!='\0'){
	      if(*str!='\0' && *str=='G'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s2=buf2;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                    while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.'))
                   *s2++=*str++;
                    *s2='\0';
               }
        if(*str!='\0' && *str=='X'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s3=buf3;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                    while(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))                   *s3++=*str++;
                    *s3='\0';
               }
              if(*str!='\0' && *str=='Y'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s4=buf4;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
               while(*str!='\0' &&(isdigit(*str) |*str=='||*str=='.'))                              *s4++=*str++;
                    *s4='\0';
}
               CDC *v;
               v=GetDC();
               if((int)atof(buf2)==92){
                MoveTo((int)atof(buf3),(int)atof(buf4));
                bx=(int)atof(buf3);
                 by=(int)atof(buf4);

                ReleaseDC(v);
             }   
                else if((int)atof(buf2)==01){
                  MoveTo((int)bx,(int)by);
                 LineTo((int)atof(buf3),(int)atof(buf4));
                 bx=(int)atof(buf3);
                 by=(int)atof(buf4);
                 ReleaseDC(v);
              }
                            else
                     str++;
                }
         }
      fclose(fp);
      return 0;
  }
が現在のプログラムです。①の方は
{
FILE *fp;
   char *str,buf[1000];
  char subbuf[100],*s1;
    char buf2[100],*s2;
  char buf3[100],*s3;
    char buf4[100],*s4;
     if ((fp = fopen("test.txt", "r")) == NULL) {
		printf("ファイルが開けません\n");
		 return EXIT_SUCCESS;
               }
        while (fgets(buf, 1000, fp) != NULL) {
	    str=buf;
       while((*str!='\0'){
	      if(*str!='\0' && *str=='G'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s2=buf2;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                    while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.'))
                   *s2++=*str++;
                    *s2='\0';
               }
        if(*str!='\0' && *str=='X'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s3=buf3;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                    while(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))                   *s3++=*str++;
                    *s3='\0';
               }
              if(*str!='\0' && *str=='Y'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s4=buf4;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
               while(*str!='\0' &&(isdigit(*str) |*str=='||*str=='.'))                              *s4++=*str++;
                    *s4='\0';
           printf("G[%f]X[%f]Y[%f]",atof(buf2),atof(buf3),atof(buf4));
                            }
                                 
                            else
                     str++;
                }
         }
      fclose(fp);
      return 0;
  }
で試してみるとちゃんと
G01X100Y100
X200Y100と
G02X300Y300すると

G01X100Y100
G01X200Y100
G02X300Y300
となります。図形作成プログラムの所でミスをしているのでしょうか?

②はやり方も思いつきません・・

教えてください

バグ

Re:プログラム

#2

投稿記事 by バグ » 16年前

仕様に関しての質問なのですが…

1行分のデータ文字列が、1つのコマンドという認識でいいですか?(つまり、2行以上にまたがってのコマンドというのは考えなくていいんでしょうか?)

初心者

Re:プログラム

#3

投稿記事 by 初心者 » 16年前

考えなくて大丈夫です。

バグ

Re:プログラム

#4

投稿記事 by バグ » 16年前

メンバ変数かグローバル変数を追加して、その変数に読み込んだ値を保持しておき、値が無い場合はその値を更新せずに、そのまま使用すればいいのだけなのではないでしょうか?

初心者

Re:プログラム

#5

投稿記事 by 初心者 » 16年前

今Gの値Xの値Yの値はbuf2,buf3,buf4で格納?されてるとおもうのですが、このことでしょうか?
後書き忘れも少しあり
G01X100Y100
X200Y100と
M90
G02X300Y300
のように3行目にはGとXとYの値を取り出すこのプログラムには不必要な文字列もあります。

バグ

Re:プログラム

#6

投稿記事 by バグ » 16年前

そういうことならば、G、X、Yの値を格納する専用の変数を用意しては如何でしょうか?
ちなみに、ローカル変数、グローバル変数、メンバ変数の違いは分かっていますか?

初心者

Re:プログラム

#7

投稿記事 by 初心者 » 16年前

わかってないので調べてわからなかったらまたご質問します。
ありがとうございました。

non

Re:プログラム

#8

投稿記事 by non » 16年前

> G01X100Y100
> X200Y100と
> M90
> G02X300Y300
> のように3行目にはGとXとYの値を取り出すこのプログラムには不必要な文字列もあります。

M90は捨てていいのでしょうか?
捨ててはいけないなら設計段階から、どうするのか考えておいた方がいいのですが・・・
これが、NCコードなら、他にも先頭1文字目に来る文字があると思いますが、最終的にはどこまで
考えておられるのでしょうか?

初心者

Re:プログラム

#9

投稿記事 by 初心者 » 16年前

捨てていいと思います。他にも先頭一文字目にくる文字もありますがあくまでとりだすのはGとXとYだけですので
それ以外は切り捨てかな。

初心者

Re:プログラム

#10

投稿記事 by 初心者 » 16年前

まずGがない(省略されている)のは
if(*str!='\0' && *str !=G && (*str!=='X'||*str!=='Y')){
で書き出しで大丈夫だと思いますが
今使っているローカル関数のbuf2,buf3,bu4でG、X,Yの値を格納していますが
これをグローバル関数に直し、
ここからがいまいちよくわからないんです。

non

Re:プログラム

#11

投稿記事 by non » 16年前

字下げをして、エラーをでなくしました。
なるべく、元のプログラムのままにしました。
で、今の段階でグローバル変数の必要はないですが、これから何します?
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
int main(void)
{ 
	FILE *fp; 
	char *str,buf[1000]; 
	char subbuf[100],*s1; 
	char buf2[100],*s2; 
	char buf3[100],*s3; 
	char buf4[100],*s4; 
	if ((fp = fopen("test1.txt", "r")) == NULL) { 
		printf("ファイルが開けません\n"); 
		return 1; 
	} 
	while (fgets(buf, 1000, fp) != NULL) { 
		str=buf; 
		while(*str!='\0'){ 
			if(*str!='\0' && *str=='G'){ 
				str++; 
				if(*str!='\0' && (isdigit(*str) || *str=='-' || *str=='.')) 
					s2=buf2; 
				if(*str!='\0' && (isdigit(*str) || *str=='-' || *str=='.')) 
					while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.')) 
						*s2++=*str++; 
				*s2='\0'; 
			} 
			if(*str!='\0' && *str=='X'){ 
				str++; 
				if(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) 
					s3=buf3; 
				if(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) 
					while(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
						*s3++=*str++; 
				*s3='\0'; 
			} 
			if(*str!='\0' && *str=='Y'){ 
				str++; 
				if(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) 
					s4=buf4; 
				if(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) 
					while(*str!='\0' &&(isdigit(*str) || *str=='-' ||*str=='.'))
							*s4++=*str++; 
				*s4='\0'; 
			} 
			else 
				str++; 
		}
		printf("G[%f]X[%f]Y[%f]\n",atof(buf2),atof(buf3),atof(buf4)); 
	} 
	fclose(fp); 
	return 0; 
}

初心者

Re:プログラム

#12

投稿記事 by 初心者 » 16年前

{
FILE *fp;
   char *str,buf[1000];
  char subbuf[100],*s1;
    char buf2[100],*s2;
  char buf3[100],*s3;
    char buf4[100],*s4;
     if ((fp = fopen("test.txt", "r")) == NULL) {
		printf("ファイルが開けません\n");
		 return EXIT_SUCCESS;
               }
        while (fgets(buf, 1000, fp) != NULL) {
	    str=buf;
       while((*str!='\0'){
	      if(*str!='\0' && *str=='G'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s2=buf2;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                    while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.'))
                   *s2++=*str++;
                    *s2='\0';
               }
        if(*str!='\0' && *str=='X'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s3=buf3;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                    while(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))                   *s3++=*str++;
                    *s3='\0';
               }
              if(*str!='\0' && *str=='Y'){
                  *str++;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
                   s4=buf4;
                   if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.'))
               while(*str!='\0' &&(isdigit(*str) |*str=='||*str=='.'))                              *s4++=*str++;
                    *s4='\0';
}
               CDC *v;
               v=GetDC();
               if(atof(buf2)==92){
                MoveTo(atof(buf3),atof(buf4));
                ReleaseDC(v);
             }   
                else if(atof(buf)==01){
                  MoveTo(0,0);
                 LineTo(atof(buf3),atof(buf4));
                 ReleaseDC(v);
              }
                            else
                     str++;
                }
         }
      fclose(fp);
      return 0;
  }
で図形を書くのです。2個目のプログラムはあくまで
G01X100Y100
X200Y100
のファイルだとすると2行目のGはちゃんと01になっていた
G01X100Y100
X200Y200
G02X400Y500
X0Y0
の場合は4行目のGは02になっていた。

それならば
G01X100Y100
X200Y100
の例で図形を書くと(0,0)から(100,100)までの直線と(100,100)から(200,100)までの直線が
描かれるはずが最初の直線だけでちゃんとかけないわけです。

初心者

Re:プログラム

#13

投稿記事 by 初心者 » 16年前

さらに
G01X100Y100
X200

というファイルのときに(0,0)から(100,100)までの直線と
(100,100)から(200,100)までの直線を書きたいわけです。
要はGの値が省略されていて書かれていない場合(先頭にXorYがある場合)前のGの値を使う。
XとYの値も同様で、例だとYの値が記述されていないので前回のY100を使う
そんなプログラムです。

non

Re:プログラム

#14

投稿記事 by non » 16年前

私が添付したファイルを実行してみました?
省略されていても、前の値が出ているはずですが・・・
グラフィックを描くのは、MFCを使ったことがないのでしらないけど・・・

初心者

Re:プログラム

#15

投稿記事 by 初心者 » 16年前

その通りです。最初の質問文でも書いてありますが、前の値が出ているんですね。
仕分けの方は大丈夫なんですがいざ図形を書こうとするとちゃんとかけないのです。

non

Re:プログラム

#16

投稿記事 by non » 16年前

グラフを描くためのプログラムを入れている部分を、私のプログラムの
printf("G[%f]X[%f]Y[%f]\n",atof(buf2),atof(buf3),atof(buf4)); がある場所に
入れてみませんか?

Mist

Re:プログラム

#17

投稿記事 by Mist » 16年前

今回の問題は、値の引き継ぎ云々よりも線描画のほうだと思うけど
else if(atof(buf)==01){
                  MoveTo(0,0);
                  LineTo(atof(buf3),atof(buf4));
                  ReleaseDC(v);
              }
これだと原点からの直線しか引けないでしょ。
G01を引き継いだ場合は原点移動しない。
という条件を追加しないといつまでたっても思うようにはならないと思うよ

#前回の指摘は思いっきり無視されているけどatof(buf)で本当にあってるの?

non

Re:プログラム

#18

投稿記事 by non » 16年前

無駄な部分が多く、プログラムがわかりにくいので書き直してみました。

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
char* makeNum(char *str,float *n)
{
	char work[100],*buf;
	buf=work;
	while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.'))
		*buf++=*str++;
	*buf='\0';
	*n=atof(work);
	return str;
}
	
int main(void)
{ 
	FILE *fp; 
	char *str,buf[1000];
	struct {
		float g;
		float x;
		float y;
	}ncData;

	if ((fp = fopen("test1.txt", "r")) == NULL) { 
		printf("ファイルが開けません\n"); 
		return 1; 
	} 
	while (fgets(buf, 1000, fp) != NULL) {
		str=buf; 
		while(*str!='\0'){
			switch(*str){
				case 'G':
					str=makeNum(++str,&ncData.g);
					break;
				case 'X':
					str=makeNum(++str,&ncData.x);
					break;
				case 'Y':
					str=makeNum(++str,&ncData.y);
					break;
				default:
					str++;
			}
		}
		printf("G[%f]X[%f]Y[%f]\n",ncData.g,ncData.x,ncData.y); 
	}					
	fclose(fp); 
	return 0; 
}

初心者

Re:プログラム

#19

投稿記事 by 初心者 » 16年前

>Mistさん

変更するの忘れてました。続けて直線を書けるようになっています。
本文の方修正しておきます。申し訳ありません。
※前回の指摘とはどれのことです?

Mist

Re:プログラム

#20

投稿記事 by Mist » 16年前

else
                     str++;
一番最後のこの部分について2個質問。
1.str++;している理由は?
2.ReleaseDCしていないけど問題ないの?

初心者

Re:プログラム

#21

投稿記事 by 初心者 » 16年前

あー前回の質問ですね。本当はちゃんとなってるんですが質問するときは
開発用のPCからコピペできないので手書きか前回の質問を部分部分コピペしてやってますので
気づかず載せてしまうこともあります。申し訳ない。

初心者

Re:プログラム

#22

投稿記事 by 初心者 » 16年前

1,これは以前誰かのスレでみたのをぱくっただkですが
これがないとエラーはでませんが正常に動きません

2,図形描写じゃないのでいらないとおもいますが・・

例えばですね
G01X100Y100
X200Y100
X300
などを
G01X100Y100
G01200Y100
G01X300Y100としてやるとちゃんと書けるんですよ。
ですので値が無い場合前の文字の値をそのまま入れるという機能を加える
以外は動きます

non

Re:プログラム

#23

投稿記事 by non » 16年前

データが
G01X100Y100
X200
Y300
G02
の場合、どんな図形が描かれると正解なんですか?
1 原点から(100,100)まで線を引く
2 原点から(200,100)まで線を引く
3 原点から(200,300)まで線を引く
4 (200,300)に表示開始位置を移動する。
ってことでしょうか?

ところで、atof(buf2)==92 ってコードは02の間違い?
そいえば8進数ってのが指摘されてましたね。

Mist

Re:プログラム

#24

投稿記事 by Mist » 16年前

> 気づかず載せてしまうこともあります。申し訳ない。

あなたの事情は知ったこっちゃないですが、正しい情報を提供してもらわないと正しい回答は出せませんのであしからず。
ここに載せているソースでは正しくても、実際に動かしているソースで間違っている可能性だってあるわけで。

ソース見る限り間違いないように思うけど。
ステップ実行してみて、X200Y100の読み取り後のbuf2とbuf3とbuf4を確認してみるのがいいと思います。

初心者

Re:プログラム

#25

投稿記事 by 初心者 » 16年前

まさにその図形ですね。4だけ少し、02はあくまでG01がどこまで省略されているのかをわかりやすくするためであって
本当は円弧書くときに使います。ですので1~3まで書ければ大丈夫です。

>>ところで、atof(buf2)==92 ってコードは02の間違い?
そいえば8進数ってのが指摘されてましたね。

すいません。余計なことするからややこしくなってしまいますね。
G01X100Y100
X200
Y300
G02

G01X100Y100
X200
Y300
G92X0Y0とでも考えていただければいいです。

non

Re:プログラム

#26

投稿記事 by non » 16年前

Vc++.net2003をインストールして、シングルドキュメントで動かしてみました。
問題なく、原点から線が3本引かれました。

初心者

Re:プログラム

#27

投稿記事 by 初心者 » 16年前

うーむ、お手数ですがソースはりつけてもらってもいいですか?

初心者

Re:プログラム

#28

投稿記事 by 初心者 » 16年前

色々試したらちゃんとできました。ありがとうございました

non

Re:プログラム

#29

投稿記事 by non » 16年前

VC++は先週から勉強し始めましたので、printfをどうすればよいのかわかりませんので、
みっともないプログラムですが、ご容赦ください。
ほとんど、前に貼り付けたプログラムです。
こちら様のプログラムをベースに流用させていただきましたのであしからず。
http://mail2.nara-edu.ac.jp/~asait/visu ... m#section3

char* makeNum(char *str,double *n)
{
	char work[100],*buf;
	buf=work;
	while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.'))
		*buf++=*str++;
	*buf='\0';
	*n=atof(work);
	return str;
}
	
void CVTestView::OnDraw(CDC* pDC)
{
	CVTestDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	// TODO: この場所にネイティブ データ用の描画コードを追加します。
    CRect r;
    GetClientRect(r);

    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowExt(1000, 600);                // 窓の論理サイズの指定
    pDC->SetViewportExt(r.right, -r.bottom);     //ビューポートの指定
    pDC->SetViewportOrg(r.right/2, r.bottom/2);  //原点の指定

    CPen p(PS_SOLID, 1, RGB(0, 255, 0));
    CPen* oldp=pDC->SelectObject(&p);

    pDC->MoveTo(-500, 0); pDC->LineTo(500, 0);
    pDC->MoveTo(0,300);  pDC->LineTo(0, -300);


	FILE *fp; 
	char *str,buf[1000];
	struct {
		double g;
		double x;
		double y;
	}ncData;

	if ((fp = fopen("test1.txt", "r")) == NULL) { 
		printf("ファイルが開けません\n"); 
		return ; 
	} 
	while (fgets(buf, 1000, fp) != NULL) {
		str=buf; 
		while(*str!='\0'){
			switch(*str){
				case 'G':
					str=makeNum(++str,&ncData.g);
					break;
				case 'X':
					str=makeNum(++str,&ncData.x);
					break;
				case 'Y':
					str=makeNum(++str,&ncData.y);
					break;
				default:
					str++;
			}
		}
		if(ncData.g==2.0){
			pDC->MoveTo((int)ncData.x,(int)ncData.y);
		}   
		else if(ncData.g==1.0){
			pDC->MoveTo(0,0);
			pDC->LineTo((int)ncData.x,(int)ncData.y);
		}
	}					
	fclose(fp); 
}
型変換の警告がでないように若干変更しました。

Mist

Re:プログラム

#30

投稿記事 by Mist » 16年前

質問した人の礼儀として何が悪かったのかぐらい書いてください。

non

Re:プログラム

#31

投稿記事 by non » 16年前

あらためて読み直すと
>G01X100Y100
>X200Y100
>の例で図形を書くと(0,0)から(100,100)までの直線と(100,100)から(200,100)までの直線が
>描かれるはずが最初の直線だけでちゃんとかけないわけです。

って描いてありますね。ってことは最初のG01は原点から引いて、次からは最終点から引くのじゃないの?
まっ!いいか。

初心者

Re:プログラム

#32

投稿記事 by 初心者 » 16年前

else
str++;
の位置が悪かったみたいですね。
人のぱくってろくに理解もせずに使うからこうなるんですね。
以後気をつけます

non

Re:プログラム

#33

投稿記事 by non » 16年前

24840の段階でそういったでしょ。

ま~く

Re:プログラム

#34

投稿記事 by ま~く » 16年前

あまりこういう指摘は好きじゃないけど・・
ちょっと前から気になっていたので。
http://oshiete1.goo.ne.jp/qa4521532.html
http://oshiete1.goo.ne.jp/qa4513790.html
とかって同じ質問じゃ・・?

ちなみに、MFC・・というよりWindowsプログラムで WM_PAINTに対応するOnDrawやOnPaintなどで
ファイルから読み込みながら描画するというのは微妙だと思います。
まぁ~かるいテストプログラムであれば良いのですが^^;

通常(個人的に)は、以下の流れが良いかと。

1.初期化または、読み込みイベント(メニュー・ボタンなど)でファイルから読み込み、図形データをメモリに持つ。(配列でもリストでも好きなように)

2.OnDrawで保持しているデータを描画

または、1で直接メモリDCに描画して、OnDrawで転送とか。

読み込みルーチンと描画ルーチンを一緒にするとね・・^^;

バグ

Re:プログラム

#35

投稿記事 by バグ » 16年前

>>ま~くさん
それ、私も気になっていたんですよ。
描画内容を保持しておかないと、後々問題が出そうな感じですよね。

初心者

Re:プログラム

#36

投稿記事 by 初心者 » 16年前

確かにOKWAVEの方でも聞いていますよ。私の場合回答がないor難しい回答だった場合聞いています。
OKWAVEの方では禁止事項にマルチポストが入ってなかった為大丈夫だとココの規約に書いてあったと思いますよ
リンク先書いてないのは問題ではありますが、向こうの掲示板では特にルールなど指定されていませんので。
まずこちらで聞いて上記のような理由場合のみ質問します。C言語の方はたくさんの人が学んでおられますが、VC++の特にMFCの方では回答者が少ないです。というより限定的です。上記の理由の場合しかたないと考えますが、
NGかどうかは管理人様に聞いてからにします。管理人様見ていたら回答お願いします。

non

Re:プログラム

#37

投稿記事 by non » 16年前

もちろん同意見。
動くことだけ確認したかったサンプルですからね。あれは。

バグ

Re:プログラム

#38

投稿記事 by バグ » 16年前

ここの規約によると、マルチポスト先の掲示板との相互リンクが条件になっているようですね。

ようするに、『マルチポストしています』という事を質問と一緒に書き込みしないといけないという訳ですか…

私も規約を熟読してなかったので、初めて知りましたが(汗)、どちらの回答者にも失礼にならない最善の方法かと思います。

初心者

Re:プログラム

#39

投稿記事 by 初心者 » 16年前

違う掲示板で聞くとそれを見たこちらの掲示板の方が気分を害する、のは今議論されている通りわかります。
ただ、『マルチポストしています』って書いてもこちらの方はもちろん向こうの方も気分害されると思うんですけどね。私はまだ人に教えれる知識は持ち合わせていませんのでそういう気持ちはわかりませんが。
書いた方がいいなら普通に書きますがね(ルール的にということじゃなく心情的に)

御津凪

Re:プログラム

#40

投稿記事 by 御津凪 » 16年前

> ただ、『マルチポストしています』って書いてもこちらの方はもちろん向こうの方も気分害されると思うんですけどね。

マルチポストの理由をきちんと書けばそれ限りではないと思います。

確かにMFC使用者はここには少ない(私も使ったことが無い)です。
マルチポストした旨の発言も、
「回答が難しいのでもっと他の方の意見を知りたいのでマルチポストします」
みたいな感じの文章を添えてリンクを張れば良いのではないかと。

回答の途中で何の断りも無くマルチポストするのは規約に抵触しますし。

ここの掲示板は他の質問系サイトに比べて(いい意味で)局地的ですし、
質問に対して十分な回答が得られない場合がありますので、
上記のように一言添えて行えば問題は無いはずだと私は思います。

閉鎖

“C言語何でも質問掲示板” へ戻る