mips以及c语言中的系统调用

0 C语言文件操作

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>  // uint16_t
//

// 打开文件
FILE *fp = fopen("file_name.txt", "wb");
// 错误检查
if (fp == NULL) {
    
    
    perror("open file failed.");
    return;
}
//注意fputc,是按照二进制输入到文件中。比如,int number = 'A';则文件的这一位,byte就是A的ASCII码,打开这个文件,显示的就是'A'。
int c = (int) temp; // not char!
fputc(c, file);
fputc(number, fp);
// 按顺序从文件中获取字符
fgetc(fp);
//判断数字是否是ASCII码,能否被打印
isprint(character);  
// 字符串数组转数字
 atoi(argv[i])
// 将之前标准输出的内容,输出到文件中。注意和fputc()区别。将数字的每一位都输出到文件中
sprintf(str_number,"%d",i);
fputs(str_number, fp);
// 
char buffer[257] = {
    
    '\0'};
fgets(buffer, 256, stdin);
//关闭文件
fclose(fp);


1 mips关于文件操作的系统调用参数

系统调用参数总结

2 C语言添加权限的系统调用



char permission[5] = {
    
    "777"};
        char * end;
        // rw-rwx---
        // 110 111 000
        // chmod 670  test.sh
        // chmod 777 test.sh
        //       rwxrwxrwx   111
        // chmod 411 test.sh
        // 1-- 001 001
        //r-- --x --x 
        int map[256] = {
    
    0};
        map['r'] = 4;
        map['w'] = 2;
        map['x'] = 1;
        map['-'] = 0;
        for (int i = 0; i < 3; i++) {
    
    
            int num_temp = 0;
            for (int j = 0; j < 3; j++) {
    
    
                //printf("%c", one_egglet[i * 3 + j + 3]);
                num_temp += map[(int)one_egglet[i * 3 + j + 3]];
            }
            permission[i] = num_temp + '0';
        }
        // for (int i = 0; i < 3; i++) {
    
    
        //     //printf("chmod : %c",permission[i]);
        // }
        // 8. set permission
        //puts(permission);
        mode_t mode = strtol(permission, &end, 8);
        if (permission[0] == '\0' || end[0] != '\0') {
    
    
        fprintf(stderr, ": invalid mode: %s\n", permission);
        return;
        }
        //puts(mode);
        if (chmod(path_name, mode) != 0) {
    
    
            perror(path_name);  // prints why the chmod failed
            return;
        }

Guess you like

Origin blog.csdn.net/weixin_42089190/article/details/121131312
Recommended