2014-04-05 1 views
2

내가 정의되지 않은 구조 (예 : 사용자가 아무것도 넣을 수 있습니다 - 숫자, 문자열 등) 루아 테이블 있습니다. 데이터 테이블을 C 코드로 가져와 데이터 파일에 저장 한 다음 나중에 열어 Lua 스크립트에 값을 복원해야합니다.루아 - C로 테이블 가져 오기, 그것을 업데이트하고 다시 업로드

lua_topointer 나에게 데이터 주소를 입력하십시오. 데이터를 가져 와서 다시 업로드하는 방법은 없습니다.

어떻게 하시겠습니까?

+0

당신이 시도한 것이 전부입니까? – Schollii

답변

3

문자열에서 루아 측의 데이터를 직렬화하는 것이 좋지는 않습니다. (예, 함수 또는 사용자 데이터와 같은 직렬화 할 수없는 데이터가 손실됩니다.) 그런 다음 해당 문자열을 파일에 저장하고 나중에 비 직렬화 할 수 있습니다.

C면에서 원한다면 테이블 위로 이동해야합니다. 당신은 그것에 대한 참조 만받습니다. 오류가 발생하기 쉽고, 상용구가 많은 코드이고, 성능 이점을 얻지 못할 것입니다.

즉시 사용할 수있는 루아 직렬화 코드를 보려면 http://lua-users.org/wiki/TableSerialization을보십시오.

+0

직렬화 할 수 없거나 직렬화 할 수없는 알려진 값에 대한 참조를 확실히 인식하고 인코딩하고 나중에 복원 할 수 있습니다. – Deduplicator

+0

작동하지만 항상 그런 것은 아닙니다. 내 파일은 네트워크에 저장 될 수 있으며 루아는 그것 (또는 어떤 ftp)에 접근 할 수 없다. –

+0

@Martin : 그래도 루아에서 직렬화하면, 적절한 루아 파일 객체를 제공하기 만하면됩니다 ... – Deduplicator