English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

下面是一個函數我把VB的Mid函數用C寫出來
這樣子以後在C就能使用VB的函數
可是回傳值要傳回字串的時候傳不回去
求會寫的大大指導一下
我翻了很多書都沒有看到
char Mid(char msg[],int n,int m)//由字串中的n個字元往右取出m個字元
{
char str[256]=\"\";
n=n-1;
m=m-1;
for(n;n<=m;n++)
{
sprintf(str,\"%s%c\",str,msg[n]);
}
//printf(\"%s\",str);
return str;
}

2006-07-28 13:57:27 · 3 個解答 · 發問者 永恆的破壞 5 in 電腦與網際網路 程式設計

3 個解答

//Power by Microsoft Visual Studio 2005//可以使用 Dev-C++ 編譯此程式#include #include #include int main(int argc, char *argv[]){ //=====STATEMENT=====// void Mid(char *STR,char *msg,int n,int m); char string[]="This is a BOOK.",str[256]=""; Mid(str,string,11,4); printf("%s\nGot a string: %s\n",string,str); //=====END=====// system("PAUSE"); return 0;}//mainvoid Mid(char *STR,char *msg,int n,int m){ //由字串中的n個字元往右取出m個字元 strncpy(STR,msg+n-1,m); //移動指標至指定起始位置,複製 m 個字元}

2006-07-28 14:50:24 · answer #1 · answered by Big_John-tw 7 · 0 0

void main()
{
char msg[100];
int m;
gets(msg);
printf("取多少字元:");
scanf("%d",&m);
printf("%s\n",Mid(msg,strlen(msg),m));
}

2006-07-29 06:26:03 · answer #2 · answered by Almond 6 · 0 0

若為下列式子
char *msg="asdasdasd";
printf("%s\n",msg);
printf("%s\n",Mid(msg,5,3));
printf("%s\n",msg);

ASD 大大不好意思。
在MID() return時,變數msg就應該會"晃點"

2006-07-28 23:25:01 · answer #3 · answered by ㄚ旺 5 · 0 0

fedest.com, questions and answers