token1 = strtok(udtAddressVar.strName, " ");
strcpy(udtAddressVar.strFirstName, token1);
token1 = strtok(NULL, " ");
strcpy(udtAddressVar.strMiddleName, token1);
token1 = strtok(NULL, " ");
strcpy(udtAddressVar.strLastName, token1);
使用此代碼但在沒有中間名時失敗。例如,對於「約翰·亨利·藍」,而不是爲了工作正常,「布拉德·亨利如果在C語言中爲空,則跳過中間名
您是否嘗試過爲每個變量設置默認值?我的意思是,strFirstName,strMiddleName和strLastName在開始時具有NULL值,嘗試將它們全部初始化爲空字符串,例如「」,因爲我認爲由於在參數中放置了空值而導致出現錯誤。 –
它們都被初始化爲空字符串。 – Coder