The homeowner told police he heard someone forcing his door open so he got his gun and found three people standing in his living room.
Police said he fired one shot and hit 19-year-old Christopher Williams in the chest.
The homeowner said after the shooting, he saw four men running from his house.
Police charged Williams and 18-year-old Audricus Southerland with first-degree burglary. Police are looking for two other suspects.
Williams was taken to UNC Hospitals where he underwent surgery.
The homeowner has not been charged.