CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

关于换行符

楼主maowu(猫呜)2005-01-26 22:36:20 在 C/C++ / C++ 语言 提问

windows文件系统中的换行符是   /r/n  
  apple的文件系统中的换行符是   /r  
  unix的文件系统中的换行符是   /n  
   
  我有一个文件时在unix下生成的,我现在需要在windows系统中按行拷贝它。  
  我用getline后加上'/n',但是拷贝完之后整个文件的换行符都变成了”/r/n“  
  请问如何用unix的换行符?  
   
   
  ps:有没有人用过Norton   Antivirus   2005   ,如何破解? 问题点数:20、回复次数:12Top

1 楼GEATA(学习ing)回复于 2005-01-26 23:26:21 得分 2

std::endl   试试....Top

2 楼maowu(猫呜)回复于 2005-01-26 23:34:53 得分 0

endl就是当前系统的换行符了。我需要在windows系统中添加unix系统的换行符。Top

3 楼zdwaiter(肥佬韦)回复于 2005-01-26 23:38:27 得分 0

晕倒。。。  
   
  试试手动加?Top

4 楼maowu(猫呜)回复于 2005-01-26 23:41:34 得分 0

我大概有100多个文件,每个文件4m左右。。。。。  
  Top

5 楼pcboyxhy(-273.15℃)回复于 2005-01-27 00:17:23 得分 10

用二进制方式打开文件Top

6 楼zhangzhm()回复于 2005-01-27 00:45:34 得分 0

写程序完成.要不   你给我发一个源文件   我给你写好  
  zhangzhm@126.com  
  说清你的要求!Top

7 楼GEATA(学习ing)回复于 2005-01-28 00:46:01 得分 2

this   is   line   one\r\n  
  getline   ====>   this   is   line   one\r  
  +   '\n'     ====>   this   is   line   one\r\n  
   
  所以要做的是在getline后去掉'\r'  
   
  Top

8 楼whoho(在北方流浪)回复于 2005-01-28 08:24:34 得分 5

用二进制写入\r或者\n  
  文本方式没有解决的办法Top

9 楼maowu(猫呜)回复于 2005-01-28 21:41:09 得分 0

GEATA(学习ing)   (   )   信誉:100    
   
  你说的有道理。  
  你知道是怎么去掉'\r'吗?  
  Top

10 楼gdhyj(gdhyj)回复于 2005-01-28 22:20:33 得分 1

有个简便的方法找一台unix和一台windows的机器,其中一台有ftp服务,在没装ftp服务的机上做客户端用ascii方式取文件,用BIN方式上传(反过来也行,反正二次用不同的方式),这样文件就转换过来了,如果没有unix的机器也没关系,网上多得是unix下ftp的机器(网易免费主页就是,不过限制了单个文件的大小),别外写程序来转换也很容易,C的我没现成的代码,有delphi的供你参考一下:  
   
  function   UnixToDos(sUnixText:string):string;                       //unix文本格式到DOS文本格式的转换  
  var  
      ch,ch1             :   char;  
      sReturn   :   string;  
      i               :   integer;  
  begin  
      sReturn   :=   '';  
      for   i:=1   to   length(sUnixText)   do   begin  
          ch   :=   sUnixText[i];  
          case   ch   of  
              #$A   :if(ch1<>#$D)   then   sReturn   :=   sReturn   +   #$D#$A  
                        else  
                                  sReturn   :=   sReturn   +   ch;  
              #$04:begin  
                            sReturn   :=   sReturn   +   #$1A;  
                            break;  
                        end  
          else  
                        sReturn   :=   sReturn   +   ch  
          end;  
          ch1   :=ch;  
      end;  
      result   :=   sReturn  
  end;  
  Top

11 楼maowu(猫呜)回复于 2005-01-28 22:46:46 得分 0

其实这个程序在java中我已经有了实现,只是想把它移植到c++来。  
  Top

12 楼maowu(猫呜)回复于 2005-01-28 22:51:49 得分 0

用二进制方式打开文件真的可以耶。Top

相关问题

  • reporting services 换行符
  • 如何定义换行符???
  • 换行符的问题
  • 换行符的问题!
  • access里的换行符?
  • XML中的换行符
  • 常数中有换行符?
  • 清除所有换行符
  • 如何在CEdit中输出换行符???
  • UNIX下换行符是什么?

关键词

  • 文件
  • 系统
  • 文本
  • 转换
  • unix
  • 换行符
  • sreturn
  • sunixtext
  • ch
  • 机器

得分解答快速导航

  • 帖主:maowu
  • GEATA
  • pcboyxhy
  • GEATA
  • whoho
  • gdhyj

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo