美文网首页
一段字符换位置

一段字符换位置

作者: 萌面大叔2 | 来源:发表于2017-02-15 13:08 被阅读0次
#include <stdio.h>
#include <string.h>
#define FILENAME "/Users/ccj/Desktop/stu.txt"
void test()
{
    FILE *fp=fopen("/Users/ccj/Desktop/stu.txt", "w");
    fputs("111;xx1;xx1@qq.com\n", fp);
    fputs("112;xx2;xx2@qq.com\n", fp);
    fputs("113;xx3;xx3@qq.com\n", fp);
    fclose(fp);
}
/*
 1.将信息读取到内存
 2.去掉\n
 3.分割字符串
 4.交换字符串
 5.写文件
 */

void mySplit(char *str,char ch,char *pre,char *next)
{
    while (*str!=ch)
    {
        *pre=*str;
        str++;
        pre++;
    }
    *pre='\0';
    
    str++;//移到;后面
    while(*str!='\0')
    {
        *next=*str;
        next++;
        str++;
    }
    *next='\0';
}



void swapString(char *str)
{
    char others[20];
    char string1[20],string2[20],string3[20];
    mySplit(str, ';', string1, others);
    mySplit(others, ';', string2, string3);

    strcpy(str, string2);
    strcat(str, ";");
    strcat(str, string3);
    strcat(str, ";");
    strcat(str, string1);
    strcat(str, "\n");
//    printf("拼接好的str=%s\n",str);
}

void removeEnter(char text[][100],int index)
{
    int i=0;
    for (; i<index; i++)
    {
        long last=strlen(text[i]);
        if(text[i][last-1]=='\n')
        {
            text[i][last-1]='\0';
        }
    }

}

int getText(char text[20][100])
{

    int index=0;
    char str[100];
    FILE *fp=fopen(FILENAME, "r");
    while (fgets(str, 100, fp))
    {
        strcpy(text[index], str);
        index++;
    }
    
    fclose(fp);
    
    return index;
}

void  writeText(char text[][100],int index)
{
    FILE *fp=fopen(FILENAME, "w");
    int i=0;
    for (; i<index; i++)
    {
        fputs(text[i], fp);
    }
    fclose(fp);
}

int main()
{
    
    char text[20][100];
    int index=getText(text);
    
    removeEnter(text,index);

    int i=0;
    for (i=0; i<index; i++)
    {
        swapString(text[i]);
    }
    
    writeText(text,index);
    
    
    return 0;
}

相关文章

  • 一段字符换位置

  • 正则表达式

    匹配位置: \b:单词的开头或者结束,单词的分界处^:匹配字符串的开始$:匹配字符串的结束 匹配字符 .:匹配除换...

  • 内置对象

    给搜素引擎查字符(chartAt/charCodeAt) 1、charAt,获取相应位置字符编码(参数:字符位置)...

  • JS-字符串

    根据字符返回位置 根据位置返回字符 统计出z字符串中最多的字符和次数 字符串操作方法

  • 前端记录20171219

    String 的操作 charAt() 返回某位置的字符charCodeAt() 返回某位置字符的字符编码ind...

  • oracle 字符串 用法

    字符串截取的函数: substr(要截取的字符串,开始位置,结束位置); 获取目标字符出现的位置: instr(要...

  • javascript中变量计算-类型转换

    字符串拼接 字符换+数字:数字转换成字符串字符换+布尔:布尔值转换成字符串 “==”运算符 “==“ 会做隐式类型...

  • 前端基本功--js实战7 11.09

    一、根据字符返回位置 跟charAt() 相反根据位置返回字符indexOf(“字符”);找不到返回-1,索引号从...

  • Axure RP8函数列表

    字符串 length:字符串的长度charAr:返回在指定位置的字符charCodeAt:返回在制定的位置的字符的...

  • JavaScript复习——字符串操作

    字符串操作 str.charAt() 返回指定位置的字符。第一个字符位置为 0, 第二个字符位置为 1。 str....

网友评论

      本文标题:一段字符换位置

      本文链接:https://www.haomeiwen.com/subject/nejsuttx.html