uintFileReadArray(
int file_handle, // handle файлаvoid array[], // массив для записиint start_item=0, // с какой позиции массива писатьint items_count=WHOLE_ARRAY// сколько читать
);
boolFileCopy(
string src_filename, // имя файла-источникаint common_flag, // место действияstring dst_filename, // имя файла назначенияint mode_flags // способ доступа
);
很久没有接触过文件操作了...看,当你使用FileOpen() 时,你有一个CSV类型的文件声明 。它用来指定所有写入的项目都转换为unicode或ansi字符串。也 许这就是那条狗所在的地方?
该死的温尼普!!!。
这就是它被 "埋藏 "的地方 :)我添加了FILE_ANSI 参数,一切都很顺利。
FileOpen("Price Label/"+_Symbol+tpl_ext,FILE_READ|FILE_CSV|FILE_ANSI,'; ',CP_ACP)。
Yedelkin ,TheXpert 谢谢你的提示!!。:)
is_vale:
...从我在调试器中看到的情况来看(在sTF变量中,它把文件内容读成了unicode!)。当打开文件 时,我已经尝试了所有可能的代码段,但结果是一样的:(文件本身是用Windows编码写的。
有没有人知道问题出在哪里?
默认情况下,它是用UNICODE 写的。所以要设置FILE_ANSI 标志。
默认情况下,它是用UNICODE 写的。因此,设置FILE_ANSI 标志。
关于数组[]大小的问题:我应该在FileReadArray()中使用数组[]之前设置它的大小,还是 在这种情况下"终端执行系统 "会处理 大小?
不,该函数将为文件中的必要数据量分配内存。
顺便说一下,你可以用同样的方法读取简单结构 的数组,如果它们被写在那里。
FileReadArray() 函数不能识别保存的数据类型,所以要小心,这是特点之一,你可以保存重复的数据,并将其作为一个排列组合进行读取,并将其解析为比特。
酷。
FileReadArray() 函数不能识别保存的数据类型,所以要小心,这是特点之一,你可以保存重复的数据,并把它们读成浮点,解析成比特。
所以,数组在保存和读取时应该是同一类型的,对吗?这是否足够?
酷。
所以在保存和读取时,数组必须是相同的类型,我说的对吗?这就够了吗?
是的。
说明中说。
common_flag
[in] 定义文件位置的标志。如果common_flag=FILE_COMMON,该文件就在所有客户终端的共享文件夹中。否则,该文件就在本地文件夹中。
说明中说。
如果源文件在一个共享文件夹中,那么common_flag=FILE_COMMON,这就很清楚了。但如果文件位于本地文件夹中,应该指定哪个标志?common_flag参数不是默认的,所以无论如何必须指定一些值。