c语言----程序记录
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语言----程序记录的更多相关文章
- IOS开发--C语言入门--如何结合Terminal和Vim开发C语言程序
一直以来都想着挤出时间,记录开发之路的点点滴滴(现在记录已成回忆),和大家一起分享,开发人员总是在沟通和相互学习中提高自身的能力.路过的大神也好初学者也罢,若发现文章中又观点不对的,还望大家指出. 现 ...
- C语言程序设计基础-第1周作业-初步
1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...
- C语言程序内存的分区
本文转载自:https://blog.csdn.net/shulianghan/article/details/20472269 C语言程序内存分配 (1) 内存分区状况 栈区 (stack) : ...
- 我的第一个C语言程序
从自学开始到现在应该有块一个月了,之前一直想要写博客一直没想好要自己建博客还是找平台来写.现在想想 其实都一样,不论在哪里,都可以记录自己学习的成长记录.这是我的第一篇关于C语言学习的博客,希望这只是 ...
- 100个经典C语言程序(益智类)
100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行方向定义为x,列方向 ...
- C语言程序运行时的一些细节
本章可以看作是 <Unix 环境高级编程>Ch7 的笔记. C 程序运行的开始和结束 一个可以运行的 C 语言总要有一个 main 函数,main 函数现在的完整定义是 int main( ...
- 【值得收藏】C语言入门基础知识大全!从C语言程序结构到删库跑路!
01 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { ...
- 第一个C语言程序
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...
- Linux环境下使用gcc编译,gdb反汇编C语言程序
使用虚拟机 VMware Workstation 10 Linux环境:Ubuntu 14.04 LTS Server amd64 我把过程截图如下. 首先是hello world程序: 备注: ...
随机推荐
- 20155211实验2 Windows口令破解
20155211实验2 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和 ...
- 20155230 实验三《敏捷开发与XP实践》实验报告
20155230 实验三<敏捷开发与XP实践>实验报告 一.使用工具(Code->Reformate Code)把代码重新格式化 IDEA里的Code菜单有很多实用的功能可以帮助我们 ...
- 20155322 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(macOS + Eclipse)
20155322 2016-2017-2 <Java程序设计>实验一 Java开发环境的熟悉(macOS + Eclipse) 实验目的与内容 熟悉命令行开发环境. 使用vim等文本编译器 ...
- 20155327《Java程序设计》第二周学习总结
<Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...
- 20155332 2016-2017-2 《Java程序设计》第10周学习总结
20155332 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Java 密码技 ...
- [转]WIN2008 IIS7的日期格式
最近项目升级服务器从32位升级到64位的WIN2008,日期显示格式非我们所期望的yyyy-M-d格式,原以为修改控制面板的日期格式即可,可是不行. 修改注册表问题解决. 修改方法: 运行注册表编辑器 ...
- 测试基础-http协议(转)
HTTP的特性 HTTP构建于TCP/IP协议之上,默认端口号是80 HTTP是无连接无状态的 HTTP报文 请求报文 HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规 ...
- 优化 VR 动作类游戏《Space Pirate Trainer*》以便在英特尔® 集成显卡上实现卓越的表现
Space Pirate Trainer* 是一款面向 HTC Vive*.Oculus Touch* 和 Windows Mixed Reality* 的原创发行游戏.版本 1.0 于 2017 年 ...
- JAVA学习笔记--接口
一.抽象类和抽象方法 在谈论接口之前,我们先了解一下抽象类和抽象方法.我们知道,在继承结构中,越往下继承,类会变得越来越明确和具体,而往上回溯,越往上,类会变得越抽象和通用.我们有时候可能会需要这样一 ...
- Elasticsearch 统计代码例子
aggs avg 平均数 最近15分钟的平均访问时间,upstream_time_ms是每次访问时间,单位毫秒 { "query": { "filtered": ...