我想從我的本地函數中發送從主要另一個字符數組中複製數據,我總是看到垃圾字符,即使我已經添加'\0'
在字符串。正在存儲在數組中的垃圾字符
這是我的部分代碼。
for (int i = 0; i < strlen(main) ; i++){
if (main[i] != ';'){
local[i] = main[i]; // Copy the characters until `;` isn't found
} else {
local[i] = '\0' ; // If `;` found, null terminate the copied destination.
break;
}
}
所以基本上的數據是從主送比如像這樣
look;can;you;see;me
My Local-----> 'look??y??>c?Lw?T?w??>c?2+a?'
Actual data in main---> 'look'
正如你可以從上面的例子中看到我想只得到第一個字我總是得到垃圾,我不知道爲什麼?
編輯:
這是它幾乎100%可以肯定,是造成我的問題的整體功能。
void myFunction(char main[ ]){
for (int i = 0; i < strlen(main) ; i++){
if (main[i] != ';'){
local[i] = main[i]; // Copy the characters until `;` isn't found
} else {
local[i] = '\0' ; // If `;` found, null terminate the copied destination.
break;
}
}
if(main[i] != '\0'){
int col = 0, row = 0;
do {
if(main[i] == ';' || main[i] == '\0') {
sending[row++][col] = '\0';
col = 0;
} else {
sending[row][col++] = main[i];
}
} while(main[i++] != '\0');
}
}
你可以添加你用來打印MyLocal的代碼嗎? – Mat 2012-04-07 06:05:34
@Mat這是來自我沒有訪問它的主要功能,我忘了提及這是一個家庭作業。我會添加標籤對不起。 – Ali 2012-04-07 06:06:55
您發佈的代碼看起來不錯(如果潛在效率低下)。所以我們需要看到更多。 – Mat 2012-04-07 06:07:47