2017年计算机二级C++实例编程:生成手机号码文本c++程序源码

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 03:23:16 计算机等级考试
2017年计算机二级C++实例编程:生成手机号码文本c++程序源码计算机等级考试

  生成手机号码文本c++程序源码

  // 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");

  //把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

  int main(void)

  {

  /* write a string to standard output */

  fputs("Hello world\n", stdout);

  return 0;

  }

  fp=fopen(filename,"a");

  fseek(fp,0,SEEK_SET);//我以为此时光标位置是文件开头,结果发现光标位置是文件的末尾,也就是说“a”只能以追加方式写,只能定位到原文件末尾,而不能是原文件中间的某个位置

  “r” 打开文本文件用于读

  “w” 创建文本文件用于写,并删除已存在的内容(如果有的话)

  “a” 追加,打开或创建文本文件,并向文件末尾追加内容

  “r+” 打开文件用于更新(即读和写)

  “w+” 创建文本文件用于更新,并删除已存在的内容(如果有的话)

  “a+” 追加:打开或创建文本文件用于更新,写文件是追加到文件末尾。

  strcat  原型:extern char *strcat(char *dest,char *src);

  用法:#include

  功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

  返回指向dest的指针。

  举例:

  // strcat.c

  #include

  #include

  main()

  {

  char d[20]="Golden Global";

  char *s=" View";

  clrscr();

  strcat(d,s);

  printf("%s",d);

  getchar();

  return 0;

  }

  程序执行结果为:

  Golden Global View计算机等级考试