strcmp

C - add element to sorted-linked-list (alphabetical sorting)

北城余情 提交于 2020-06-17 14:20:08
问题 I have to do some kind of work here. My task is to write words from file to a struct in alphabetical order. I thought "hmmmm.. that's easy", but not - it isn't. Or just I f*cked it up :( Can you guys tell me how should I alphabetically add words to my list using these 3 functions? Or maybe it is other way to do this? I share most of my code. struct Word { char* word; struct Word* pNext; }; typedef struct Word Word; bool IsLegitWord(char* word){ int word_length = strlen(word); int i = 0; for(i

string comparison in 8086

Deadly 提交于 2020-06-17 03:36:08
问题 I have problem with this question. I don't know what it wants from me. Question : Write a procedure that compares a source string at DS:SI to a destination string at ES:DI and sets the flags accordingly. If the source is less than the destination, carry flag is set. if string are equal , the zero flag is set. if the source is greater than the destination , the zero and carry flags are both cleared. My Answer : MOV ESI , STRING1 MOV EDI, STRING2 MOV ECX, COUNT CLD REPE CMPSB Still I am not

Is there any safe strcmp?

牧云@^-^@ 提交于 2020-06-10 08:06:49
问题 I made a function like this: bool IsSameString(char* p1, char* p2) { return 0 == strcmp(p1, p2); } The problem is that sometimes, by mistake, arguments are passed which are not strings (meaning that p1 or p2 is not terminated with a null character). Then, strcmp continues comparing until it reaches non-accessible memory and crashes. Is there a safe version of strcmp ? Or can I tell whether p1 (and p2 ) is a string or not in a safe manner? 回答1: No, there's no (standard) way to tell whether a

车站售票系统

妖精的绣舞 提交于 2020-04-07 19:38:36
#include <windows.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define EmFile "C:\\zm.txt" //密码帐号文件名 #define N 3 #define TEMP 2 #define TRUE 1 #define FALSE 0 int shoudsave=0 ; int count1=0,count2=0,mark=0,mark1=0 ; struct train { char num[10];//列车号 char city[10];//目的城市 char takeoffTime[10];//发车时间 char receiveTime[10];//到达时间 int price;//票价 int bookNum ;//票数 int leftbookNum; }; //订票人的信息 struct man { char num[10];//ID char name[10];//姓名 int bookNum ;//需求的票数 char password[7];//密码 int tag; }; //定义火车信息链表的结点结构 typedef struct node { struct train data ; struct node

词法分析程序实验

做~自己de王妃 提交于 2020-03-29 21:34:07
词法分析程序实验 一、 实验目的 编制一个词法分析程序。 二、 实验内容和要求 输入:源程序字符串 输出:二元组(种别,单词符号本身)。 三、 实验方法、步骤及结果测试 源程序名: bianyiyuanli .c 可执行程序名: bianyiyuanli .exe 原理分析及流程图 通过一些for循环和while循环进行一个个的翻译。 源程序如下: #include<stdio.h> #include<string.h> #include<stdlib.h> char TOken[10];//分开进行比较 char ch; /*char rwtab[6]={"begin","if","then","while","do","end"};*/ char r1[]={"auto"}; char r2[]={"break"}; char r3[]={"case"}; char r4[]={"char"}; char r5[]={"const"}; char r6[]={"continue"}; char r7[]={"default"}; char r8[]={"do"}; char r9[]={"double"}; char r10[]={"else"}; char r11[]={"enum"}; char r12[]={"extern"}; char r13[]={"float"};

实验一 词法分析程序

≯℡__Kan透↙ 提交于 2020-03-29 20:20:56
实验一 词法分析程序实验 专业 商软2班 姓名 邝启彬 学号 201506110165 一、 实验目的 编制一个词法分析程序。 二、 实验内容和要求 输入:源程序字符串 输出:二元组(种别,单词符号本身)。 三、 实验方法、步骤及结果测试 1. 源程序名:词法分析 .c 可执行程序名:词法分析 .exe 2. 原理分析及流程图 3. 主要 程序段及其解释: #include<stdio.h> #include<stdlib.h> #include<string.h> char *word[6]={"begin","if","then","while","do","end"}; char *word2[18]={"|","dd*","+","-","*","/",":",":=","<","<=","<>",">",">=","=",";","(",")","#"}; void words(char ch[]); void signs(char ch[]); main() { char ch[10]; do { printf("\n请输入保留字(输入##时结束):"); scanf("%s",ch); if(ch==" "||ch=="\n") getchar(); words(ch); signs(ch); }while(ch!="##"); } void words(char

C++常用字符串函数使用整理

一世执手 提交于 2020-03-29 00:57:07
strlen(字符数组) 功能:求字符串长度。 说明:该函数的实参可以是字符数组名,也可以是字符串。 使用样例: char s1[80] = "China"; cout<<strlen(s1)<<'\n';      //输出结果为5 cout<<strlen("大学生")<<'\n';   //输出结果为6  结果说明:一个汉字有两个字节,所以strlen("大学生")的结果为6。 strcpy(字符数组1,字符数组2) 功能:将字符数组2中的字符串复制到字符数组1中 说明: (1)字符数组1的长度必须大于等于字符数组2的长度。 (2)复制时连同字符串后面的'\0'一起复制到字符数组1中。 (3)不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。 (4)字符数组的复制只能用strcpy函数处理。用一个赋值语句只能将一个字符赋给一个字符型变量或字符型数组元素。但可以在定义的时候初始化。 如以下形式: str1 ={''Good"};    //不合法 str1 = str2;      //不合法 char a[5],c1,c2; c1 = 'A'; c2 = 'B';    //合法 c[0] = 'C';       //合法 char g[20] = "aaaa''   //合法 使用样例: `char a[20]="aaaaaa",b[20]="bbb";`

个人项目WordCount(C++/QT)

∥☆過路亽.° 提交于 2020-03-25 04:28:12
个人项目WordCount(C++/QT) GitHub项目地址: https://github.com/Nova-cjp/Word-Count (GUI程序过大尚未上传,可通过百度云下载) 百度云链接: https://pan.baidu.com/s/1MSOXu0KbuUMJfJ8p8bwMwQ 提取码:jef2 一、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 15 · Estimate · 估计这个任务需要多少时间 10 15 Development 开发 380 1240 · Analysis · 需求分析 (包括学习新技术) 90 150 · Design Spec · 生成设计文档 ---- 10 · Design Review · 设计复审 (和同事审核设计文档) 5 5 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 15 · Design · 具体设计 30 60 · Coding · 具体编码 150 240 · Code Review · 代码复审 30 10 · Test · 测试(自我测试,修改代码,提交修改) 60 270 Reporting 报告 100 40 · Test Report · 测试报告

1028 List Sorting (25分)

断了今生、忘了曾经 提交于 2020-03-24 16:55:07
这题不难,貌似乙级也有一样的题?简单的排序问题。有一点问题是,用cin,cout绝对超时,查了一下,用一下代码可以加速至与scanf,printf速度一样。 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 好像确实可以加速,但是否能通过还是随缘,pat上最后一个测试点不是固定的,所以一下用c++写的代码有时候不超时有时候超时(以下代码在最后一个测试点最好情况下用时390ms,题目限制400ms,好严格)...主要是c++封装好的string的比较太方便了,c里面又没有这个东西。 超时与否看运气的代码: 1 #include <iostream> 2 #include<cstdio> 3 #include<string> 4 #include<vector> 5 #include<algorithm> 6 using namespace std; 7 struct student{ 8 string id,name; 9 int grade; 10 }; 11 bool cmp1(student a,student b){ 12 return a.id<b.id; 13 } 14 bool cmp2(student a,student b){ 15 if(a.name!=b.name) 16 return a.name<b

单向链表实例:终端交互简易通讯录

狂风中的少年 提交于 2020-03-24 01:21:05
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 6 typedef struct Contacts_infomation{ 7 char name[13]; 8 char work_unit[61]; 9 char phone_number[12]; 10 char E_mail[61]; 11 struct Contacts_infomation *next; 12 }con_info; 13 14 15 con_info * Creat_node(void) 16 { 17 con_info *new; 18 19 new = (con_info *)malloc(sizeof(con_info)); 20 if(!new){ 21 printf("Malloc Error!\n"); 22 exit(-1); 23 } 24 new->next = NULL; 25 26 return new; 27 } 28 29 int insert_node(con_info ** phead) 30 { 31 con_info *new, *cur; 32 33 cur = *phead; 34 new = Creat_node(); 35 if(!new){ 36 return -1; 37