問題:
我使用的是BF561,使用異步存儲的端口來調(diào)LCD。在deal.txt記事本里放了512個數(shù)用于連點(diǎn)劃線。原來運(yùn)行在uclinux下的程序中有下邊這句:
char path[16] = "/mnt/deal.txt";
在裸機(jī)下,我把程序修改為:
char path[16] = "F:\\deal.txt" ;
編譯的時候出錯,顯示cc0144: error: a value of type "char [39]" cannot be used to initialize an entity of type "char [16]"。
把path[16]改為39或更大的數(shù),則編譯、運(yùn)行成功。
我不太明白,明明這個文件夾里放了512個數(shù),為什么path這個數(shù)組只有39個元素?
答:path里面放的不是你deal.txt文件的內(nèi)容,而是"F:\\deal.txt" ,另外你檢查一下其他地方有沒有定義char path[39]
問:多謝!其他地方?jīng)]有定義char path[39]。
char是八位有符號二進(jìn)制數(shù),char path[39]就意味著"F:\\deal.txt"這個字符數(shù)組里有39個這樣的數(shù)。但是那個deal.txt文件里存放的數(shù)明顯要多很多呀,而且每個數(shù)的數(shù)值都比較大,比如25631。難道是這其中有什么轉(zhuǎn)換機(jī)制嗎?
答:如果你要讀取deal.txt內(nèi)部數(shù)據(jù),需要使用文件系統(tǒng),用fopen 和fread讀取。不能直接賦給數(shù)組
任何問題ADI DSP的技術(shù)及商務(wù)問題,均可聯(lián)系OP的QQ:5516164,郵箱:sale@openadsp.com
|