C文件字符格式化继手机格式化

 

继上次的需求使用php写了一个手机格式化的功能

尝试着用C写了一遍,不考虑代码的合理性,暂时只是练手学习。

#define PATH "C:/Users/odaycaogen/Desktop/2.txt"
#include <stdio.h>
#include <Windows.h>


void main() {

	//读文件
	FILE *fp = fopen(PATH,"r");
	if(fp == NULL){
		perror("fopen");
		return;
	}
	char str[100] = {0};
	char buf[1024 * 4] = {0};
	char temp[100] = {0};

	while (1)
	{	
		 fgets(str, sizeof(str), fp);
		 sprintf(temp,"%s%s","86",str);
		 //printf("temp = %s",temp);
		 strcat(buf,temp);
		 if (feof(fp)) {
			 break;
     	 }
	}
	printf("buf = %s",buf);
	fclose(fp);

	fp = fopen(PATH,"w");
	if (fp == NULL) {
		perror("fopen");
		return;
	}
	fputs(buf,fp);
	fclose(fp);
	fp = NULL;
	system("pause");
}

 

侧重点 在C处理字符串拼接的时候比较绕 

QQ截图20181127191227.png

这里使用sprintf()格式化输出到字符串没想到也行得通 还有别的方案是字符串遍历指针 每个字符向后移动两个位置 在最前面塞入 86 即可 具体没尝试着操作

另外 feof() 存在一个缺陷,会存在边界值的问题

本博客所有文章如无特别注明均为原创。作者:odaycaogen复制或转载请以超链接形式注明转自 123``blog
原文地址《C文件字符格式化继手机格式化

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)