// makeyqm.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int i=1;
int _tmain(int argc, _TCHAR* argv[])
// 主程序_tmain支持unicode别名,定义一个整形argc记录参数个数
//_TCHAR* argv[] 则是所有参数的一个数组
{
if(argc!=3) {
printf("USAGE: MAKEYQM phonefile yqmfile");
return 1;
} //如果发现参数不等于3个就提示USAGE: MAKEYQM phonefile yqmfile
FILE *fp1,*fp2,*fp3;
if( (fp1=fopen(argv[1], "r")) == NULL) {
printf("can't open file: %s", argv[1]);
return 1;
} //如果读取第一个参数为空,就打印不能打开该文件
if( (fp2=fopen(argv[2], "r")) == NULL ) {
printf("can't open file: %s", argv[2]);
return 1;
}//如果读取第二个参数为空,就打印不能打开该文件
char phone[255], yqm[255];
//定义两个数组phone,yqm
while( fgets(phone, 255, fp1) && fgets(yqm, 255, fp2)) {
//当从fp1和fp2流中读取255个字符串数据长度时
phone[strlen(phone)-2]=0;
//把0赋值给phone的长度-2
strcat(phone,".txt");[NextPage]
//把txt的内容追加给到phone结尾处(覆盖dest结尾处的'\0')并添加'\0'.
if( (fp3=fopen(phone,"a")) == NULL ) {
printf("can't open file: %s", phone);
return 1;
} //如果追加打开或创建文本为空
fputs(yqm,fp3); //把fp3的字节流送到yqm参数中
fclose(fp3); //关闭fp3参数内容
printf("%d - Write %s ... OK\n", i, phone);
i++;
} //递增输出phone的字符内容
fclose(fp2); //关闭fp2参数内容
fclose(fp1); //关闭fp1参数内容
printf("Complete!"); //打印完成
return 0; //结束参数
}
文章中涉及到的一些参考
fputs
函数名: fputs
功 能: 送一个字符串到一个流中
用 法: int fputs(char *string, FILE *stream);
程序例:
#include <stdio.h>
int main(void)
{
/* write a string to standard output */
fputs("Hello world\n", stdout);
return 0;
}
fp=fopen(filename,"a"); [NextPage]
fseek(fp,0,SEEK_SET);//我以为此时光标位置是文件开头,结果发现光标位置是文件的末尾,也就是说“a”只能以追加方式写,只能定位到原文件末尾,而不能是原文件中间的某个位置
“r” 打开文本文件用于读
“w” 创建文本文件用于写,并删除已存在的内容(如果有的话)
“a” 追加,打开或创建文本文件,并向文件末尾追加内容
“r+” 打开文件用于更新(即读和写)
“w+” 创建文本文件用于更新,并删除已存在的内容(如果有的话)
“a+” 追加:打开或创建文本文件用于更新,写文件是追加到文件末尾。
strcat 原型:extern char *strcat(char *dest,char *src);
用法:#include <string.h>
功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
举例:
// strcat.c
#include <syslib.h>
#include <string.h>
main()
{
char d[20]="Golden Global";
char *s=" View";
clrscr();
strcat(d,s);
printf("%s",d);
getchar();
return 0;
}
程序执行结果为:
Golden Global View
不知道哪里出了问题程序最后生成的是10位的手机号码。有点郁闷!!!
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|