dyjyhx 发表于 2005-2-24 14:14:52

遇的到一个小问题,请指点

file_open("C:\\readme.txt",FO_MODE_READ);

file_open("C:\\readme2.txt",FO_MODE_WRITE);
i=0;
while(file_getline("C:\\readme.txt",line)==0)
{
        i++;
        file_printf("C:\\readme2.txt",s&toupper(line);
}


file_close("C:\\readme.txt");
file_close("C:\\readme2.txt");



file_compare("C:\\readme.txt","C:\\readme2.txt","save");

上面的程序中,把readme.txt中的内容拷贝到readme2.txt中,然后比较两个文件。由于拷贝过程中不自动分行,且字母有小写变成了大写。所以比较两个文件的内容不相同。怎么解决这个问题?请高手指点。先谢谢了

dyjyhx 发表于 2005-2-24 14:25:56

大写的问题已经找到,我用了转换为大写的函数toupper().

怎么换行那?

shyfish 发表于 2005-2-24 15:05:50

file_open("C:\\test.txt",FO_MODE_READ);

file_open("C:\\test2.txt",FO_MODE_WRITE);
i=0;
while(file_getline("C:\\test.txt",line)==0)
{
      file_printf("C:\\test2.txt", line&"\r\n");
}

file_close("C:\\test.txt");
file_close("C:\\test2.txt");

if(file_compare("C:\\test.txt","C:\\test2.txt","save") == E_OK)
        tl_step("compare", 0, "OK");
else
        tl_step("compare", 1, "Fail.")

dyjyhx 发表于 2005-2-24 15:16:21

谢谢shyfish,我试一下

dyjyhx 发表于 2005-2-24 15:23:16

问题解决了。不过要注意的是当C:\\test.txt最后一行没有回车时,C:\\test.txt的最后一行字符不能用file_printf("C:\\test2.txt", line&"\r\n");   ,应用file_printf("C:\\test2.txt", line);否则比较不能通过。

dyjyhx 发表于 2005-2-24 15:23:29

非常感谢
页: [1]
查看完整版本: 遇的到一个小问题,请指点