readr::read_fwf() should be what you are after.
To read from "input.txt" 3 columns of width 20, 10, and 12 respectively named "name", "state", "ssn" you would use.
library(readr)
read_fwf("input.txt", fwf_widths(c(20, 10, 12), c("name", "state", "ssn")))
But also you may want to look at special purpose packages to read census data. I am not familiar with the field, but maybe something like ipumsr would allow you to import the data you need?