我用CStdioFile类向txt文件中写入数据,具体代码如下:CString singleNode;
singleNode = Lon+_T(" ")+Lat+_T(" ")+height+_T(" ")+PreLink+_T(" ")+NextLink+_T("\r\n");
file.WriteString(singleNode);
file.WriteString(Name+_T("\r\n"));
Lon也是CString,具体为:-71.08973309397697 Lat为:42.351351820156616但是现在发现使用WriteString()写入后,在txt文件第一个,也就是-71.08973309397697前有一个空格,但是如果把Lat放在第一个输出,也就是正数放在第一个,则没有这个空格?请教大家这是怎么回事?怎么去掉负数前的那一个空格?txt输出为:(每一行第一个都变成了空格)
 -71.08973309397697 42.351351820156616 5.000000 -1 1
road11
 -71.08949840068817 42.35086121718217 5.000000 1 -1
road12

解决方案 »

  1.   


    没有,Lat和Lon都是CString变量,从数据库里取出来的数据放在这两个CString变量里,然后打印到txt中,负号不是手动输入的
      

  2.   


    应该不是吧?你说的全角/半角,是哪里的输入可能有问题?变量是CString类型的。从数据取出的对应表对象属性是CStringA,从CStringA到CString转换也不会有问题吧?我感觉问题是显示的只要是负数,就是前面有负号,就会多一个空格
      

  3.   

    哎,自己解决了,用了TrimLeft()去掉这个空格,但是还是不知道为什么会有这个空格
      

  4.   

    用trimleft()去掉那个空格就行了。