C Primer Plus(第六版)13.11 编程练习 第11题

这篇具有很好参考价值的文章主要介绍了C Primer Plus(第六版)13.11 编程练习 第11题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

/*
编写一个程序,接受两个命令行参数。第1个参数是一个字符串,第2个参数是一个文件名。然
后该程序查找该文件,打印文件中包含该字符串的所有行。因为该任务是面向行而不是面向字符
的,所以要使用fgets()而不是getc()。使用标准C库函数strstr() (11.5.7节简要介绍过)
在每一行中查找指定字符串。假设文件中的所有行都不超过255个字符。
*/
//13.11-11.exe QTRK 13.11-11.txt
#include <stdio.h> 
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#define MAX 255

int main (int argc, char *argv[] )
{
    FILE *fp;
    char str[MAX];
    
    if (argc != 3)
        exit(EXIT_FAILURE);
    else
    {
        fp = fopen(argv[2], "r");
        while((fgets(str,MAX,fp))!=NULL)
        {
        if(strstr(str,argv[1]))//注意参数顺序 
            printf("%s",str);
        }
        fclose(fp);
    }
    return 0;
}
 文章来源地址https://www.toymoban.com/news/detail-820842.html

到了这里,关于C Primer Plus(第六版)13.11 编程练习 第11题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C Primer Plus(第六版)11.13 编程练习 第12题

    /* 编写一个程序,读取输入,直至读到EOF,报告读入的单词数、大写字母数、小写字母数、标点 符号数和数字字符数。使用ctype.h头文件中的函数。 */ //测试字符串  //ajskm,dl kdAj,.lfj sjkdl  sdk12lfj !.,fkdj.,.lssd.1a //(ajskm),(dl) (kdAj),.(lfj) (sjkdl)  (sdk)12(lfj) !.,(fkdj).,.(lssd).1(a) #includestdi

    2024年02月02日
    浏览(34)
  • C Primer Plus(第六版)12.9 编程练习 第5题

    #include stdlib.h   #include stdio.h   #include time.h   #define TIMES 100 void bubble_sort(int arr[], int len); int main (void) {     int i;     int roll[TIMES];     srand((unsigned int)time (NULL));     for(i=0;iTIMES;i++)     {         roll[i] = rand()%10+1 ;         printf(\\\"roll[%d]=%dn\\\",i,roll[i]);     }     bubble_s

    2024年01月20日
    浏览(35)
  • C Primer Plus(第六版)16.18 编程练习 第3题

    #include stdio.h #include math.h   #define PI 3.14159265358979 struct j{     double len;     double jd; }; struct z{     double x;     double y; }; struct z jtoz(struct j pj); int main(void) {     double hd;     struct j pj = {         sqrt(2.0),//根号2,45度的边长是1          45.0,     };     struct z zj;     z

    2024年02月21日
    浏览(34)
  • C Primer Plus(第六版)16.18 编程练习 第7题

    #include stdio.h #include stdlib.h #include stdarg.h void show_array(const double ar[] ,int n) ; double * new_d_array(int n, ...) ; int main () {     double * p1;     double * p2;     p1 = new_d_array(5, 1.2,2.3, 3.4, 4.5, 5.6);     p2 = new_d_array(4, 100.0, 20.00, 8.08, -1890.0);     show_array(p1,5);     show_array(p2,4);     free(p1)

    2024年02月21日
    浏览(25)
  • C Primer Plus(第六版)13.10 复习题 第5题

    #include stdio.h #include stdlib.h #include string.h #define SIZE 256 int main (int argc, char *argv[] ) {     int i=0;     char ch;     char str[SIZE];     FILE *fp;     if (argc != 3)         exit(EXIT_FAILURE);     else     {         if ((fp = fopen (argv[2],\\\"r\\\")) == NULL)             exit(EXIT_FAILURE) ;      

    2024年01月22日
    浏览(32)
  • C Primer Plus第六章编程练习答案

    学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小 写字母。然后打印数组的所有

    2024年02月06日
    浏览(36)
  • C++ Primer Plus第五章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和则程序将出29之间所有整数的和为44 2.使用array对

    2024年02月09日
    浏览(39)
  • C++ primer plus第七章编程练习答案

    1.编写一个程序,不断要求用户输入两个数,直到其中的一个为 0。对于每两个数,程序将使用一个南数来计算它们的调和平均数,并将结果返回给 main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下: 调和平均数=2.0*xy/(x + y) 2.编写一个程序,要求用

    2024年02月10日
    浏览(32)
  • C Primer Plus第九章编程练习答案

    学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.设计一个函数min(x, y),返回两个double类型值的较小值。在一个简单 的驱动程序中测试该函数。 2

    2024年02月06日
    浏览(29)
  • C++ Primer Plus第二章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个C++程序,它显示您的姓名和地址。 2.编写一个C程序它要求用户输入一个以 long 为单位的距离,然后将它转换为码(- ng等于220码) 3.编写1个C++程序它使用3个用户定义的函数(括mai()),并生成下面的输出Three blind

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包