路径:
 
 代码:
 main.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main()
{
    /*
     * 打开文件
     * FILE *fopen(const char *pathname, const char *mode);
     */
     //以追加的方式打开文件
    FILE* fp = fopen("a.txt", "a+");
    if(fp == NULL)
    {
        perror("fopen");
        return errno;
    }
    //向文件中追加字符
    char string[100];
    scanf("%s",string);
    int ret = fputs(string, fp);
    fputc('\n', fp);
    if(ret == 0)
    {
        perror("fputs");
        return errno;
    }
    
    //输出文件中的内容
    fclose(fp);
    fp = fopen("a.txt", "r");
    printf("文件中内容为:\n");
    char s[1024];
    int i =0;
    //printf("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
    while(fgets(s, 1024, fp) != NULL)
    {
        //printf("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
        printf("%s",s);
    }
    
    //printf("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
    //关闭文件
    int err = fclose(fp);
    if(err != 0)
    {
        perror("fclose");
        return errno;
    }
    return 0;
}
Makefile
main:main.c
	gcc -o $@ $^
	./$@
clean:
	rm main
问题:
 以a+打开文件,读取不到数据,以r却可以,这是为什么?
 
 
 是因为指针指向了文件末尾吗?
 


















