读书人

又见文件替换解决方案

发布时间: 2012-02-13 17:20:26 作者: rapoo

又见文件替换
s2320200 (s2320200) 在他的帖子中写到
我想做个程序,把里面的“,”换成“ ”(注,空格)
我不知道怎么用什么函数读写,高手请指教。小弟看到,读写文件,头都大了


现在我遇到的是把里面的“ ”换成“,”(空格 ,)中间有的不是一个空格,是两个空格,应该怎样实现啊?
比如
NO 001
NO 002
得到后的结果是
NO,001
NO,002


[解决办法]

void replace(char src[])
{
char dst[128];
char* t = dst;
char* s = src;

while (*s)
{
if (*s == ' ' || *s == '\t ')
{
if (*(t - 1) != ', ')
*t++ = ', ';
s++;
continue;
}

*t++ = *s++;
}

*t = 0;

strncpy(src, dst, sizeof(src));
}

int _tmain(int argc, _TCHAR* argv[])
{
char src[] = "NO 001 ";

replace(src);

cout < <src < <endl;

读书人网 >C++

热点推荐