作者james732 (好人超)
看板C_and_CPP
標題Re: [問題] 回傳字串陣列
時間Fri Jul 24 11:51:17 2009
※ 引述《grayyoung (灰狼)》之銘言:
: char setname(char name[20],char set[20]){
: char temp[20],start[50],end[20];
: int g=0;
: for(int i=0;i<20;i++,g++){
: if(name[i]=='.') break;
: start[i]=name[i];
: }
: for(int i=0;i<20;i++,g++){
: end[i]=name[g];
: }
: sprintf(temp,"%s_%s%s",start,set,end);
: return temp;
: }
或許你可以這樣改:
void setname(char name[20], char set[20], char *result)
{
....
sprintf(result, ....);
}
呼叫時:
int main()
{
char tmp[20];
setname(..., ..., tmp);
}
簡單小範例:
void setname(char *result)
{
strcpy(result, "HELLO");
}
int main(int argc, char *argv[])
{
char tmp[20];
setname(tmp);
printf("%s\n", tmp);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.143.8.159
推 VictorTom:所以我在他原來那篇就推文說過了....XD 07/24 13:56
→ james732:他好像沒有了解 所以我就補充了一下 :) 07/24 15:49
推 VictorTom:其實我在想, 他這樣用法是不是name和set都傳ptr就好了@@ 07/24 16:07
→ VictorTom:就是像您小範例result的用法就夠了, 傳整個array進func 07/24 16:08
→ VictorTom:總覺得看不習慣XD 07/24 16:08