zoukankan      html  css  js  c++  java
  • c语言----程序记录

    1.结构体写入文件,读取

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h> 
    #define max 5
    
    struct books{
        char title[20];
        char author[20];
        int price;
    };
    
    const char * fileName="books.txt";
    int size=sizeof(struct books);
    
    void read(struct books bks[]);
    void write(struct books bks[]);
    void list(struct books bks[]);
    void demo(struct books bks[]);
    
    void main(void)
    {
        struct books bks[max];
        
        //write(bks);
        read(bks);
    
    }
    
    
    void write(struct books bks[])
    {
        FILE * fp;
        int i=0;
        int addList;
        if((fp=fopen(fileName,"a+b")) == NULL)
        {
            printf("file open fail"); 
        }
        
        puts("大侠,你想添加几条数据?");
        scanf("%d",&addList);
        
        if(addList>0)
        {
            do{
                printf("please add new book title
    ");
                scanf("%s",&bks[i].title);
                printf("please add new book author
    ");
                scanf("%s",&bks[i].author);
                printf("please add new book price
    ");
                scanf("%d",&bks[i].price);
                i++;
                fwrite(&bks[i],size,1,fp);
            }while(i<addList);
        }
                        
    }
    
    void read(struct books bks[])
    {
        FILE * fp;
        int i=0;
        if((fp=fopen(fileName,"r+")) == NULL)
        {
            printf("file open fail"); 
        }
        
        rewind(fp);
        
        while( i<max && fread(&bks[i],size,1,fp) == 1)
        {
            printf("title is %s,author is %s,price is %d
    ",bks[i].title,bks[i].author,bks[i].price);
            i++;
        }
            
    }

     2. 获取指定字符在字符串的最后的位置

      

     1 #include <string.h>
     2 #include <stdio.h>
     3 #include <stdlib.h>
     4 
     5 int main(int argc,char *argv[])
     6 {
     7     if(argc<2)
     8     {
     9         puts("params error");
    10         exit(1);
    11     }
    12      
    13    char *p;
    14    char c = argv[2][0];  //传入来的都是字符串,得到需要的字符 ,去掉最后的 
    15    int weizhi;
    16    
    17    p = strrchr(argv[1],c);//得到字符c在字符串argv[1]中的地址,返回的是字符指针 
    18    
    19    if(p)
    20      weizhi = p - argv[1];  //两个指针相减,得到位置距离 
    21         printf("%d",weizhi);
    22    else
    23      puts("not found");   
    24    
    25    return 0;
    26 }

    3.字符串查找

     1 #include <string.h>
     2 #include <stdio.h>
     3 #include <stdlib.h>
     4 #define TRUE   1
     5 #define FALSE  0 
     6 #define ERROR  0
     7 
     8 int strStart(char *,char *);
     9 
    10 int main(int argc,char *argv[])
    11 {
    12      char message[]="hello,welcome to China"; 
    13      char find[]="Ch";
    14      int start = strStart(message,find);
    15      printf("%d",start);
    16 }
    17 
    18 int strStart(char * String,char * find)
    19 {
    20     int start=-1,i=0,j=0;
    21     
    22     //得到字符串长度 
    23     int StringLen = strlen(String);
    24     int findLen   = strlen(find);
    25     //判断是否为空
    26     if(StringLen<=0 || findLen<=0)
    27     {
    28         return FALSE;
    29     }
    30     //判断子串的长度是否大于母串的长度
    31     if(StringLen < findLen)
    32     {
    33         return FALSE;
    34     } 
    35     //开始查找 
    36     for(i=0;i<=StringLen;i++)
    37     {
    38         if(String[i]==find[j])
    39         {
    40             if(start<0)
    41                 start = i;
    42             
    43             j++;    
    44         }else{
    45             if(j<findLen)
    46                 start=-1;
    47         }
    48     }
    49     return start;
    50 }
  • 相关阅读:
    【转载】CentOS 6.3(x86_64)下安装Oracle 10g R2 天高地厚
    Oracle查看表空间和删除表空间 天高地厚
    获取android手机的定位信息(转)
    android里pull解析xml文件
    google map 开发去掉图片阴影
    ubuntu12.04配置android开发环境遇到的问题
    google code中下载你的项目源码
    android无法自动生成R文件
    android中ocr解决方案(tesseract)
    自定义Android标题栏TitleBar布局(转)
  • 原文地址:https://www.cnblogs.com/hanyouchun/p/4079124.html
Copyright © 2011-2022 走看看