linux下追加所写的内容到文件内

#include 
int main(void)
{
    FILE* fp;
    fp = fopen("time.txt", "ab");//写入的数据会被加到文件尾
    //a, a+, ab, ab+, at, at+
    char str[20];
    int virtualKey = 0;
    printf("input a num\n");
    scanf("%d",&virtualKey);
    sprintf(str, "%d", virtualKey);//把数字转化为字符
    printf("str= %s\n", str);
    fwrite(str, 1, 1, fp);
    fclose(fp);
    return 0;
}

#######################
把写到time.txt文件的内容读出来
#include 
int main(void)
{
    //char c;
    int RET = -1;
    FILE* fr = NULL;
    fr = fopen("time.txt", "r");
    if(fopen == NULL)
    {
        printf("call fopen fail! \n");
        return -1;
    }
    p = (char*)mallocsizeof(char) * 20);
    if(p == NULL)
    {
        printf("call malloc() fail! \n");
        return -1;
    }
    fseek(fr, 0, SEEK_END);
    int str_len = ftell(fr);//计算字符的个数
    fseek(fr, 0, SEEK_SET);//再把指针移到文件前端
    RET = fread(p, 1, str_len, fr);
    if(RET < 0)
    {
        printf("call fread() fail!\n");
        return -1;
    }
    //c = fgetc(fr);/*每次读取一个字符*/
    //printf("c = %c", c);
    printf("p = %s\n", p);
    fclose(fr);
    free(p);//释放malloc 的地址
    return 0;
}
#######################

你可能感兴趣的:(linux)