| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8460 人关注过本帖, 1 人收藏
标题:请教怎样去掉txt文件中的所有回车换行符?
只看楼主 加入收藏
tyhj281
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-18
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:7 
请教怎样去掉txt文件中的所有回车换行符?
刚接触VC不久,请给位大侠帮忙看看,怎么编程能实现,最好有相关程序。
txt原文件内容:
111,222,333,444,555,
666,777,888,999,111,
222,333,444,555,666,
。。。。。。。。。。
去掉回车换行符后重新写入txt文件,得到:
111,222,333,444,555,666,777,888,999,111,222,333,444,555,666,777,。。。。。。
没有换行符,让txt文件自动换行,直到所有数据写完。
搜索更多相关主题的帖子: 444 555 换行符 最好 
2012-12-26 11:10
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
这个问题你不是问过了吗?没有得到满意的答案?

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-26 12:27
tyhj281
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-18
收藏
得分:0 
是 啊,没有得到满意的答案。
后来一想只要去掉所有的换车换行符就可以了,但是我不知道怎么编程实现啊。
各位大哥大姐,谁能给个程序代码啊!
在这里先谢谢了!
2012-12-26 16:12
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
这次希望你有满意的答案

#include <windows.h>

void RemoveEnter(char *pFilePath);

void main()
{   
    RemoveEnter("d:\\abc.txt");
}

void RemoveEnter(char *pFilePath)
{
    HANDLE hFile = NULL;
    char *pFileRead  = NULL;
    char *pFileWrite = NULL;
    DWORD dwFileSize = 0;
    DWORD dwFileReadWrite = 0;

    int nIndexRead = 0;
    int nIndexWrite = 0;

    // 以读的方式打开文件
    hFile = ::CreateFileA(pFilePath, GENERIC_READ,FILE_SHARE_WRITE,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (INVALID_HANDLE_VALUE == hFile) {  
        return;
    }

    // 获取文件大小,
    dwFileSize = ::GetFileSize(hFile, NULL);

    if (dwFileSize == 0) {
        goto _EXIT;
    }

    // 申请读写 缓存
    pFileRead = (char *)malloc(dwFileSize);
    pFileWrite = (char *)malloc(dwFileSize);
    if (pFileRead == NULL || pFileWrite == NULL) {
        goto _EXIT;
    }
    memset(pFileRead, 0, dwFileSize);
    memset(pFileWrite, 0, dwFileSize);

    ::ReadFile(hFile, pFileRead, dwFileSize, &dwFileReadWrite, NULL);
    if (dwFileSize != dwFileReadWrite) {   
        goto _EXIT;
    }

    while (nIndexRead < dwFileSize) { // 不是换行的,保持到内存
        if (pFileRead[nIndexRead] != '\r' && pFileRead[nIndexRead] != '\n') {
            pFileWrite[nIndexWrite] = pFileRead[nIndexRead];

            nIndexWrite++;
        }  

        nIndexRead++;
    }

    // 关闭原来的文件。
    ::CloseHandle(hFile);

    // 再次打开,这次是写入文件   CreateAlways 覆盖写入
    hFile = ::CreateFileA(pFilePath, GENERIC_WRITE,FILE_SHARE_WRITE,NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    if (INVALID_HANDLE_VALUE == hFile) {              
        goto _EXIT;
    }
    ::WriteFile(hFile, pFileWrite, nIndexWrite, &dwFileReadWrite, NULL);     


_EXIT:
    if (INVALID_HANDLE_VALUE != hFile) {                          
        ::CloseHandle(hFile);
        hFile = NULL;
    }

    if (pFileRead != NULL) {
        free(pFileRead);
        pFileRead = NULL;
    }

    if (pFileWrite != NULL) {
        free(pFileWrite);
        pFileWrite = NULL;
    }
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-27 22:41
tyhj281
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-18
收藏
得分:0 
非常感谢 yuccn ,问题解决了。
使我对文件操作有了新的认识,能不能推荐几本学VC的书啊?由于接触VC不久,市面上的书太多了,麻烦推荐几本。
2012-12-28 20:07
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
vc的话,孙鑫那边 vc++深入详解  不错,比较适合入门。。

如果是学windows编程的,比较出名的有 windows核心编程 5了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-29 10:26
tyhj281
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-18
收藏
得分:0 
好的,谢谢了
2012-12-30 17:44
yangmingcout
Rank: 2
等 级:论坛游民
帖 子:12
专家分:12
注 册:2012-12-30
收藏
得分:0 
感觉没怎么操作过文件,不太会这个,估计以后用的着
2012-12-31 17:17
快速回复:请教怎样去掉txt文件中的所有回车换行符?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027167 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved