Charles de Weck wurde als Sohn des Grundbesitzers Louis de Weck und der Françoise d’Appenthel geboren. Er heiratete Léontine de Buman, Tochter des Edouard de Buman, Kommandant der Stadtwache und Stadtrat.
Nach seiner Ausbildung an den Kollegien von Besançon und Feldkirch sowie der Rechtsschule in Freiburg war de Weck von 1861 bis 1868 als Substitut des Gerichtsschreibers am Kantonsgericht und Stellvertreter des Oberamtmanns des Saanebezirks tätig. Von 1873 bis 1881 war er Kantonsrichter. Anschliessend gehörte er von 1881 bis 1906 dem Freiburger Grossen Rat und Staatsrat an, wo er als Leiter der Justiz- und Kirchendirektion die Nachfolge von Louis de Weck-Reynold antrat. Während seiner Amtszeit unterstützte de Weck treu die Politik von Georges Python. 1906 zog er sich aus der Politik zurück.