所以我可能會攻擊這個錯誤的方式;我正在學習一些Javascript,並編寫了一個程序,該程序將查找另一個字符串中包含的字符串,並將匹配存儲在一個數組中(如果沒有太大意義,請參閱我的程序應該幫助)。我試圖將我的程序翻譯爲C,但它不起作用;我想我的問題是數據類型:C程序在字符串中查找子字符串
int main() {
char text[58];
strcpy(text, "I am James, James the Great, a pretty cool guy named James");
char store[16];
char name[6] = "James";
for (int i = 0; i <= 16; i++) {
if (text[i] == 'J') {
for (int k = i; k < i + 6; k++) {
store[k] = text[i];
}
}
}
int a = sizeof(store)/sizeof(store[0]);
for (int b = 0; b < a; b++) {
/* This should print out the values stored in the store array */
printf("%d", store[b]);
}
return 0;
}
我預期的結果會是這樣的:
JamesJamesJames
相反,我得到:
10000747474747474-6374747474
所以我假設它在做什麼我告訴它這樣做,只是不把字母作爲字母存儲到數組中,有點令人困惑。有一個更好的方法嗎?
這是JavaScript代碼,我試圖翻譯:
var text = "I am James, James the Great, a pretty cool guy named James";
var myName = "James";
var hits =[];
for (i = 0; i < text.length; i++) {
if (text[i] === "J") {
for (var j = i; j < i + myName.length ; j++) {
hits.push(text[j]);
}
}
}
if (hits.length === 0) {
console.log("Your name wasn't found!");
} else{
console.log(hits);
}
0)' 「%d」' - >' 「%C」' – BLUEPIXY 2015-04-05 16:38:55
是有一些問題,簡單地使用系統功能:)的strstr(? – user3629249 2015-04-05 20:44:54