Tag: 低级代码

如何拆分ASCII字符的hex字节

我基本上想做的是 例如:’a’hex等效数是0x61 ,我可以将61分为6和1并将它们存储为’6’和’1’吗? 缓冲区正在接收如下数据: rx_dataframe.data[0] is H’00,’.’// H’ is Hex equivalant and ” is ASCII value rx_dataframe.data[0] is H’31,’1′ rx_dataframe.data[0] is H’32,’2′ rx_dataframe.data[0] is H’33,’3′ 我需要将hex values 0x00,0x31,0x32,0x33转换为char值’0′,’0′,’3′,’1′,’3′,’2′;’3′,’3’和将它们存储在tx_buff_data[];的位置tx_buff_data[]; 我希望我的tx_buff_data看起来像这样 tx_buff_data[0] have H’30,’0′ tx_buff_data[1] have H’30,’0′ tx_buff_data[2] have H’33,’3′ tx_buff_data[3] have H’31,’1′ tx_buff_data[4] have H’33,’3′ tx_buff_data[5] have H’32,’2′ tx_buff_data[6] have H’33,’3′ tx_buff_data[7] have H’33,’3′

C低级标准输入接受文件名然后将文件内容打印到标准输出

我想通过stdin从用户获取文件名,用open()打开文件并将其分配给文件描述符,然后将该文件的内容打印到stdout。 这是我的代码,但它无法正常工作。 问题: printf(“输入文件名”); 声明永远不会出现 它从不打开文件; 相反,无论用户输入打印到屏幕上,然后打印“无此文件或目录”错误消息并退出程序 程序存在后,我看到在终端提示符前打印的“输入文件名” 码: { printf(“Enter the filename: “); read(STDIN_FILENO, userInput, sizeof(userInput)); if((input_file1 = open(userInput, O_RDONLY)) 0) { if((write(STDOUT_FILENO, buffer, n)) < 0) { perror("failed to write to standard-out"); close(input_file1); exit(1); } } } 安慰: machine{user1}168: ls // to show that the file exists a.out backup file1 machine{user1}170: ./a.out file1 […]