從一個數組中複製其中一段的程式碼
阿新 • • 發佈:2018-12-17
#include using namespace std; #include<stdio.h> #include<string.h> using std::string; //#define MAX 1000 int substr(char dst[], char src[], int start, int len);
int main() { int start, len, sum; char src[5] = {0,0,0,0,0}; //隨意初始化,陣列大小可改,這裡是5,所以只能 輸入5個字元 char dst[5] = { 10,10,10,10,10 }; //10代表回車‘\n’ int ch; int i = 0;
cout << "請輸入start:" << endl; cin>>start; cout << "請輸入len:" << endl; cin >> len; while ((ch = getchar()) != EOF) //回車後按Ctrl+z鍵再回車,退出迴圈 { if (ch != '\n') { src[i] = (char)ch; i++; } } sum = substr(dst, src, start, len); cout << src << endl; cout << dst << endl; cout << sum << endl; getchar();
}
int substr(char dst[], char src[], int start, int len) { int j;
if (start >= strlen(src) && start < 0 && len < 0)
dst == NULL;
for (j = 0; j<len; j++)
{
if (src[start-1] != '\n') //陣列從0開始的
{
dst[j] = src[start-1];
start++;
}
}
return len; //代表了dst中元素的個數
}