- 335 名前:デフォルトの名無しさん [2008/02/23(土) 16:26:11 ]
- f(x)のあとでstrlen(ch)が1になることがあります もとのソースを簡略にしました
構造体を参照渡ししてもだめでした 下は期待通りの動作をします 何がいけないのかわかりません #include <string.h> #include <stdio.h> typedef struct STRDATA{ char *start; char *end;}strdata; f(strdata x){ delete x.start; x.start = new char [20]; strcpy(x.start,"++++++++++++++"); } main(){ char *ch=new char [10]; strcpy(ch,"uuuu"); strdata x; x.start=ch; x.end=ch+strlen(ch); f(x); printf("%s",ch);}
|

|