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程序: 备注: ...
随机推荐
- C++基本概念复习
照着https://www.w3cschool.cn/cpp/,把C++的基础概念顺了一遍,虽然很久没用C++,还是整理一下. #include "stdafx.h"; #incl ...
- # 20155337 2016-2017-2 《Java程序设计》第十周学习总结
20155337 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 •网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就 ...
- 【LG5019】[NOIP2018]道路铺设
[LG5019][NOIP2018]道路铺设 题面 洛谷 题解 \(NOIP\) 抄 \(NOIP\)差评 设当前做到了位置\(i\) 且\(h_i\) \(-\) \(h_i\)\(_+\)\(_1 ...
- 1126: [POI2008]Uci
1126: [POI2008]Uci https://lydsy.com/JudgeOnline/problem.php?id=1126 分析: dp.状态很妙,就是有点难写. 能走的是一个矩形.首先 ...
- c# IE浏览器清除缓存没用
再想买更新JS和css文件之后, 使用 internet 里面的删除选项 发现样式和事件还是没用变 最终发现 需要 按 f12 找到这个清缓存才正常解决问题
- java nio通过ByteBuffer输出文件信息
1.通过ByteBuffer的get()方法每次读取一个字节转换成char类型输出. fc = new FileInputStream("src/demo20/data.txt") ...
- sublime3配置java开发环境
链接:http://www.jianshu.com/p/48a524a4f63c 或者:http://www.jianshu.com/p/9d167c4c4feb 侵权删!
- 小白初识 - 基数排序(RadixSort)
基数排序算是桶排序和计数排序的衍生吧,因为基数排序里面会用到这两种其中一种. 基数排序针对的待排序元素是要有高低位之分的,比如单词adobe,activiti,activiti就高于adobe,这个是 ...
- HDU-4055:Number String
链接:HDU-4055:Number String 题意:给你一个字符串s,s[i] = 'D'表示排列中a[i] > a[i+1],s[i] = 'I'表示排列中a[i] < a[i+1 ...
- ADO.Net之SqlConnection、 Sqlcommand的应用
ADO.Net之SqlConnection. Sqlcommand的应用 SqlConnection 的介绍与应用 1.介绍与作用 SqlConnection是ADO.NET中的连接类. 使用sqlc ...