C语音-读取文件

#include<stdio.h>
#include<stdlib.h>

#define FILENAME "data.txt"
int main()
{
	FILE *pfile=NULL;
	int i,j;
	//char buf[1024]={0};
	char *pbuf=NULL;//
	int size;
	pfile=fopen(FILENAME,"w");
	for(i=1;i<=9;i++)
	{for(j=1;j<=i;++j)
		{		fprintf(pfile," %d*%d=%-2d ",j,i,j*i);
	}
	fprintf(pfile,"\n");//flie printfs
	}
	fclose(pfile);
	//1.以单个字符的方式进行读取
	pfile=fopen(FILENAME,"r");//
	if(pfile==NULL)
	{
		printf("打开文件失败!\n");
	return -1;
	}
	/*while(!feof(pfile))//如果不为1,即未读到文件末尾,一直循环
	{
		putchar(fgetc(pfile));//从文件中读取一个字符输出到控制台屏幕
		
	}*/
	
	//2.一次性读取全部数据,输出到控制台屏幕
	//fread(buf,1,1024,pfile);
	//2.1
	//printf("%s",buf);
	//2.2
	//puts(buf);
	
	//3.使用动态方式读取数据
    fseek(pfile,0,SEEK_END);
    size=ftell(pfile);
    rewind(pfile);
    pbuf=(char *)malloc(size);	
    size=fread(pbuf,1,size,pfile);
	pbuf[size]='\0';
	printf("%s",pbuf);
	free(pbuf);
	
	
	
	
	fclose(pfile);
	
	return 0;
	
}

 

取和解析 JSON 文件,可以使用 C 语言中的第三方库 cJSON。这个库提供了一些简单的 API 来取 JSON 文件并将其转换为 C 语言中的数据结构。 以下是一个简单的例子: ```c #include <stdio.h> #include <stdlib.h> #include "cJSON.h" int main() { // 取 JSON 文件内容 FILE *file = fopen("example.json", "r"); if (!file) { printf("Failed to open file\n"); return -1; } fseek(file, 0, SEEK_END); long file_size = ftell(file); fseek(file, 0, SEEK_SET); char *json_str = (char *) malloc(file_size + 1); fread(json_str, 1, file_size, file); fclose(file); json_str[file_size] = '\0'; // 解析 JSON 内容 cJSON *root = cJSON_Parse(json_str); if (!root) { printf("Failed to parse JSON\n"); free(json_str); return -1; } // 访问 JSON 内容 cJSON *name = cJSON_GetObjectItem(root, "name"); if (name) { printf("Name: %s\n", name->valuestring); } else { printf("Name not found\n"); } cJSON *age = cJSON_GetObjectItem(root, "age"); if (age) { printf("Age: %d\n", age->valueint); } else { printf("Age not found\n"); } // 释放资源 cJSON_Delete(root); free(json_str); return 0; } ``` 在这个例子中,我们打开一个名为 `example.json` 的 JSON 文件取其内容并解析为一个 cJSON 对象。然后,我们使用 cJSON 提供的 API 访问 JSON 内容。最后,我们释放所有分配的内存并关闭文件。 需要注意的是,这个例子中只演示了如何取和解析一个简单的 JSON 文件。如果 JSON 文件包含嵌套结构和数组等复杂内容,需要使用 cJSON 提供的更多 API 来访问这些内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒曰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值