#include <stdio.h>
#include <string.h>
#define FILENAME "C:/Users/Administrator.USER-20160813YZ/Desktop/33.txt"
void test()
{
FILE *fp=fopen("C:/Users/Administrator.USER-20160813YZ/Desktop/33.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++)
{
printf("====\n");
swapString(text[i]);
}
writeText(text,index);
return 0;
}
字符分割交换
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今天做项目遇到一个需求,要将不含任何分割符的字符串分割成数组。 结合苹果API,代码如下 经留言区指正已修改,谢谢...
- Q1: 回文字符串的分割 Given a string s, partition s such that ever...
- String字符串如何按多个字符采用Split方法进行分割呢?本文提供VS2005和VS2003的实现方法,VS2...