我有一些問題字符數組中C.字符數組,並比較
我有兩個數組:
char history[10][80];
char *args[80];
而且我也得到了char inputBuffer[80]
(這包含一個字符串)。 我想要做的是找出*args
中的值是否存在於history
。
我這樣填滿history
(histCount
介於0和10之間)。
for(j=0; j<MAX_LINE; j++)
{
history[histCount][j] = inputBuffer[j];
}
我想不通的是如何,我可以遍歷history
,看它是否符合args[]
。
- 示例如果
args[0] == 'romeo'
和history[3][0] == 'r'
則匹配。 - 如果
args[0] == 'selfie'
和history[7][0] == 's'
則匹配。
我的第一個想法是做這樣的事情,但它似乎沒有工作
for(k=0; k<10; k++) {
if(args[1] == history[k]) {
printf("FOUND!!\n");
}
}
任何幫助將不勝感激。
你的樣品條件列表是不正確的。 'args [0]'是'char *','歷史[3] [0]'是'char'。對於第二個例子同樣如此。看起來你試圖將'args [n]'處的字符串與'history [m]'處的字符串相匹配。如果所有你想要的是一個單一字符匹配,你將需要'args'上的另一個間接尋址。 – WhozCraig
@WhozCraig你是對的。 'args [1]'是'char *',而'history [3] [0]'是一個字符。我需要做什麼才能檢查這些對方? – Jectson
你的問題沒有顯示你想要的那種支票的意圖。同樣,如果你只想檢查每個字符串的第一個字符,'(args [n] [0] == history [m] [0])''。如果你想檢查字符串的完全匹配,'(strcmp(args [n],history [m])== 0)',在這兩種情況下適當的索引'n'和'm'來匹配你的問題'正在解決。 – WhozCraig