fprintf

openssl handshake failed

匿名 (未验证) 提交于 2019-12-03 00:59:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: i'm trying to write simple C openssl client and server. Here is client's code: int main() { int err; SSL_CTX * ctx = init_ctx("client-cert.pem", "client-private.pem", "certs/cacert.pem", "clientpass"); if (!ctx) { fprintf(stderr, "couldn't init ctx\n"); exit(1); } int sock = tcp_connect("localhost", 4443); /* Connect the SSL socket */ SSL * ssl = SSL_new(ctx); BIO * sbio = BIO_new_socket(sock,BIO_NOCLOSE); SSL_set_bio(ssl,sbio,sbio); if((err = SSL_connect(ssl)) != 1) { switch(SSL_get_error(ssl, err)) { case SSL_ERROR_NONE: fprintf(stderr,

Suppressing “ISO C99 requires rest arguments to be used”

匿名 (未验证) 提交于 2019-12-03 00:46:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Consider the following two macros: #define PNORM( v, s, ... ) { \ if( VERBOSITY_CHECK( v ) ) { \ if( ( errno = pthread_mutex_lock(&server.output_mutex) ) ) { \ PERROR_LOCKFREE( normal, "\tpthread_mutex_lock failed on output_mutex.\r\n" ) ; \ } \ fprintf( stdout, s, ## __VA_ARGS__ ) ; \ fflush( stdout ) ; \ if( ( errno = pthread_mutex_unlock(&server.output_mutex) ) ) { \ PERROR_LOCKFREE( normal, "\tpthread_mutex_unlock failed on output_mutex.\r\n" ) ; \ } \ } \ } #define PERROR_LOCKFREE( v, s, ... ) { \ if( VERBOSITY_CHECK( v ) ) { \ PERRNO ;

c语言文件处理

匿名 (未验证) 提交于 2019-12-02 23:59:01
c语言文件处理 打开文件 函数调用的原型: /* * @filename 文件路径 * @model 打开模式 * return 若打开成功则返回一个指向FILE对象的指针;若打开失败则返回NULL */ FILE * fopen ( const char * filename , const char * model ); 打开模式 model ģʽ 描述 r 打开一个已有的文本文件,允许读取文件。 w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度,重新写入。 a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。 r+ 打开一个文本文件,允许读写文件。 w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。 a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。 如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式: "rb" , "wb" , "ab" , "rb+" , "r+b" , "wb+" , "w+b" , "ab+" , "a+b" 注:只有用 r+

TX2之WDT看门狗测试程序

匿名 (未验证) 提交于 2019-12-02 23:43:01
参考: https://developer.toradex.cn/knowledge-base/watchdog-(linux) 1 背景 看门狗,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog/service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT清零,如果超过规定的时间不喂狗(一般在程序跑飞时),WDT定时超过,就会给出一个复位信号到MCU,使MCU复位。防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。 看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。 2 TX2看门狗模块 在英伟达官方文档中

使用system V实现读者写者问题

时间秒杀一切 提交于 2019-12-02 19:37:58
1 #include <stdio.h> 2 #include <sys/sem.h> 3 #include <sys/ipc.h> 4 #include <string.h> 5 #include <errno.h> 6 #include <unistd.h> 7 #include <pthread.h> 8 #include <sys/types.h> 9 #include <sys/wait.h> 10 11 typedef int semophore; 12 //semophore mutex = 1; 13 semophore cnt = 0; 14 //semophore db = 1; 15 char mutex[] = "mutex"; 16 char db[] = "db"; 17 int semId; 18 void read(int cnt) 19 { 20 fprintf(stdout, "NO.%d reading...\n",cnt); 21 //for (int i = 0; i < 1000000; i++); 22 sleep(1); 23 fprintf(stdout, "NO.%d read finished.\n",cnt); 24 25 } 26 void write() 27 { 28 fprintf(stdout, "writing..

c语言文件的读取和写入

早过忘川 提交于 2019-12-02 01:55:38
文件打开类型: 文件打开输出就用: 1 #include <stdio.h> 2 3 int main() 4 { 5 FILE *fp = NULL; 6 7 fp = fopen("/tmp/test.txt", "w+"); //第一个逗号前是文件位置。逗号之后是打开文件方式 8 fprintf(fp, "This is testing for fprintf...\n"); //逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入 9 fputs("This is testing for fputs...\n", fp); 10 fclose(fp); //记得用完关闭文件 11 } 文件打开读取: 1 #include <stdio.h> 2 3 int main() 4 { 5 FILE *fp = NULL; 6 char buff[255]; 7 8 fp = fopen("/tmp/test.txt", "r"); 9 fscanf(fp, "%s", buff); //写入的时候和平常没有区别,还是只有字符串变量前不加‘&’,其他int、double等类型前都要加‘&’符号 10 printf("1: %s\n", buff ); 11 12 fgets(buff, 255, (FILE*)fp); //scanf遇到空格就会断开

结对项目(唐崇珂——谭艺)

孤街醉人 提交于 2019-12-01 13:35:13
一、Github与源代码 https://github.com/wuchengttt/hello-world 源代码 主函数 int main() {  //检测是否存在这两个文件,如果没有就新建 FILE *fp; fp = fopen("Exercises.txt", "w+"); fclose(fp); fp = fopen("Answers.txt", "w+"); fclose(fp); int range = 0; printf("请输入产生几以内的数字:"); scanf_s("%d", &range); printf("\n请输入产生多少个运算表达式:"); scanf_s("%d", &num); int right1 = 0; int wrong1 = 0; char(*result)[LENGTH] = (char(*)[LENGTH])malloc(sizeof(char)*LENGTH*num); int i; for (i = 1; i <= num; i++) {//随机生成四个数字 //char expArr[2];//定义生成的题目 int a = (int)(random(range));//分子 int b = (int)(random(range));//分母 int c = (int)(random(range));//另一个分子 int

超市问题

。_饼干妹妹 提交于 2019-12-01 08:29:44
#include"stdio.h" #include"stdlib.h" #include"math.h" #include"time.h" #define maxsize 300//设定每个队的最大长度为300,实际情况每个队不可能排300个人 #define mu 2.0 //平均两分钟 #define sigma 1.0 //方差为1 int unsat=0;//不满意顾客数 int total=0;//总顾客数 int randomtime=0; FILE * fp; typedef struct customer { int number;//第几号顾客 int EnQueueTime;//进队时间 }customer; typedef struct Queue { int rear,front; customer element[maxsize]; }Queue; //------------------------------------------------------------------------------- double random(void) { int a; double r; a=rand()%32767; r=(a+0.00)/32767.00; return r; } int Random() { int i,m; shang: {

专题 6 目录文件编程

你说的曾经没有我的故事 提交于 2019-11-29 21:40:13
1. 对目录文件的操作包括创建、打开、定位和删除等内容, 其中 (1) 获取工作目录的函数有 getcwd 和 getwd 等。 (2) 设置工作目录的函数有 chdir 和 fchdir 等。 (3) 创建目录文件的函数有 mkdir 等。 (4) 删除目录文件的函数有 rmdir 等。 (5) 目录文件定位的函数有 seekdir 、 rewinddir 和 telldir 等。 2. 代码实例。 2.1 读取工作目录 ( 绝对路径 ) char *getcwd(char *buf, size_t size); char *getwd(char *pathname); /************ 实例 ***************/ #include <unistd.h> #include<stdio.h> int main() { char buf[255]; fprintf(stderr, “pwd = [%s]/n”, getcwd(buf, sizeof(buf)); chdir(“../”); fprintf(stderr, “pwd = [%s]/n”, getcwd(buf, sizeof(buf)); return 0; } 2.2 目录的创建与删除 int mkdir(const char *path, mode_t mode); int rmdir

Matlabnotes

折月煮酒 提交于 2019-11-28 16:08:33
一.matlab编程 1.function [结果] = 函数名(输入变量) 处理变量 end 2.调用:函数名(a):输入变量值为a,返回第一个结果 [x,y] = 函数名(a):输入变量值为a,返回结果 3.定义数学函数的简单方法: (1)匿名函数法 y = @(x)表达式 z = @(x,y)表达式 括号中为自变量 (2)内联函数法 y = inline(表达式) ps:inline函数会将表达式中的自变量自动从左到右排序,常常用作一元函数 4.控制语句 (1)分支语句 if-end;if-else-end;if-elseif-else-end switch-case (2)循环语句 for %循环次数已知 while %常用于循环次数不确定时 (3)其他语句 1)输入语句input x = input('提示字符串') 2)输出语句disp和带格式化的fprintf输出语句 disp(a):输出a fprintf('提示字符串:%d\n',x):d默认输出x的格式 fprintf('提示字符串:%.2f\n',x):.2f表示保留小数点后两位 fprintf('提示字符串:%10.2f\n',x):结果共占10个字节 ps:查询函数帮助 help 函数 3)warning和error 4)break和continue 用在循环中 break:跳出循环 语句1 for i =