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

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

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

 #include <string.h>
#include <stdio.h>
#include <stdlib.h> int main(int argc,char *argv[])
{
if(argc<)
{
puts("params error");
exit();
} char *p;
char c = argv[][]; //传入来的都是字符串,得到需要的字符 ,去掉最后的\0
int weizhi; p = strrchr(argv[],c);//得到字符c在字符串argv[1]中的地址,返回的是字符指针 if(p)
weizhi = p - argv[]; //两个指针相减,得到位置距离
printf("%d",weizhi);
else
puts("not found"); return ;
}

3.字符串查找

 #include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
#define ERROR 0 int strStart(char *,char *); int main(int argc,char *argv[])
{
char message[]="hello,welcome to China";
char find[]="Ch";
int start = strStart(message,find);
printf("%d",start);
} int strStart(char * String,char * find)
{
int start=-,i=,j=; //得到字符串长度
int StringLen = strlen(String);
int findLen = strlen(find);
//判断是否为空
if(StringLen<= || findLen<=)
{
return FALSE;
}
//判断子串的长度是否大于母串的长度
if(StringLen < findLen)
{
return FALSE;
}
//开始查找
for(i=;i<=StringLen;i++)
{
if(String[i]==find[j])
{
if(start<)
start = i; j++;
}else{
if(j<findLen)
start=-;
}
}
return start;
}

c语言----程序记录的更多相关文章

  1. IOS开发--C语言入门--如何结合Terminal和Vim开发C语言程序

    一直以来都想着挤出时间,记录开发之路的点点滴滴(现在记录已成回忆),和大家一起分享,开发人员总是在沟通和相互学习中提高自身的能力.路过的大神也好初学者也罢,若发现文章中又观点不对的,还望大家指出. 现 ...

  2. C语言程序设计基础-第1周作业-初步

    1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...

  3. C语言程序内存的分区

    本文转载自:https://blog.csdn.net/shulianghan/article/details/20472269 C语言程序内存分配 (1) 内存分区状况 栈区 (stack) :  ...

  4. 我的第一个C语言程序

    从自学开始到现在应该有块一个月了,之前一直想要写博客一直没想好要自己建博客还是找平台来写.现在想想 其实都一样,不论在哪里,都可以记录自己学习的成长记录.这是我的第一篇关于C语言学习的博客,希望这只是 ...

  5. 100个经典C语言程序(益智类)

    100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行方向定义为x,列方向 ...

  6. C语言程序运行时的一些细节

    本章可以看作是 <Unix 环境高级编程>Ch7 的笔记. C 程序运行的开始和结束 一个可以运行的 C 语言总要有一个 main 函数,main 函数现在的完整定义是 int main( ...

  7. 【值得收藏】C语言入门基础知识大全!从C语言程序结构到删库跑路!

    01 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { ...

  8. 第一个C语言程序

    从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...

  9. Linux环境下使用gcc编译,gdb反汇编C语言程序

    使用虚拟机 VMware Workstation 10 Linux环境:Ubuntu 14.04 LTS Server amd64   我把过程截图如下. 首先是hello world程序: 备注: ...

随机推荐

  1. 20155207王雪纯 《Java程序设计》实验一报告

    20155207王雪纯 <Java程序设计>实验一报告 课程:Java程序设计 班级:1552 指导教师:娄嘉鹏 实验日期:2017.04.07 实验名称:Java开发环境的熟悉(Linu ...

  2. 20155320 2016-2017-2《Java程序设计》第九周学习总结

    20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

  3. C语言复习20170821

    函数 函数头部参数表里的变量称为形参,也是内部变量,只能在函数体内访问. 形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参.没有形参的 ...

  4. 20155339 《信息安全技术》实验二、Windows口令破解实验报告

    20155339 <信息安全技术>实验二.Windows口令破解实验报告 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 系统环境 Windo ...

  5. day6 break continue for

    .for .break (整个while循环全部结束) )打印1-100的偶数.py )打印1-100的20个偶数.py )while嵌套中的break (就近原则) .continue 错误用法: ...

  6. day3 直方图

    1.绘制直方图 # coding=utf-8 import cv2 import numpy as np from matplotlib import pyplot as plt img1 = cv2 ...

  7. 【BZOJ3144】[HNOI2013]切糕

    [BZOJ3144][HNOI2013]切糕 题面 题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑 ...

  8. 【LG4587】[FJOI2016]神秘数

    [LG4587][FJOI2016]神秘数 题面 洛谷 题解 首先我们想一想暴力怎么做 对于一段区间\([l,r]\) 我们先将它之间的数升序排序 从左往右扫, 设当前我们可以表示出的数为\([1,x ...

  9. ps 图层解锁后变成全格子(全透明)的解决方法

    其实是因为同时打开了好几个ps文件正在编辑中,所以解决方法就是重启ps,然后单独编辑一个文件,解锁后就不会再出现这种情况能,就能正常编辑了

  10. tomcat配置https | 自签发证书配置

    未配置证书的访问: