我正在用C編寫的一個程序,它涉及比較超級姓氏。例如,它可能會將Mary Jay-Blige與Mary Kay-Blige進行比較。 用於查找連字符,並設置一個變量,以它的位置的代碼是:strchr(),APT_String和減法運算
APT_String LAST_NAME
char * p_ich;
int iPosHyphen;
p_ich = strchr(LAST_NAME,'-');
iPosHyphen = p_ich-LAST_NAME+1;
其中APT_String是IBM的DataStage的數據類型。
我繼承了上面的代碼,它似乎「工作」,但我想對p_ich-LAST_NAME+1
操作進行一些說明。 也就是說,如果strchr()
返回第一個' - '的位置,C如何處理這個算術?
如果我打電話cout<<p_ich;
,我得到-Blige
。所以我猜一旦找到指定的字符,它會返回字符串的其餘部分?
事實上,操作PTR-APT_String(不PTR-PTR)使得它不清楚什麼是真正回事。 – user898763452 2011-05-17 14:47:06