CHAT-GPT初使用
拿chatgpt去试验了一下,一个挺小的需求,但是前后还是更改了三次,体验就是它可以不断改进之前实现的代码,但需要提需求的人比较清楚需求内的细节,差不多类似于,我有想法,它来实现,还是可以提高不少效率的。具体体验如下:
我:请写一段C语言代码,将2M大小的文件填充0xff到30M,要求不能申请超过1K大小的内存?
#include <stdio.h>
#define BUFFER_SIZE 1024
void fill_file(const char* filename) {
FILE* file = fopen(filename, "ab");
if (file == NULL) {
printf("无法打开文件\n");
return;
}
char buffer[BUFFER_SIZE];
for (int i = 0; i < BUFFER_SIZE; i++) {
buffer[i] = 0xff;
}
for (int i = 0; i < (30 * 1024 * 1024) / BUFFER_SIZE; i++) {
fwrite(buffer, 1, BUFFER_SIZE, file);
}
fclose(file);
}
int main() {
fill_file("test.txt");
return 0;
}
CHAT-GPT:这段代码首先打开一个文件,然后创建一个1K大小的缓冲区并填充0xff。然后,它将这个缓冲区写入文件,直到文件的大小达到30M。最后,它关闭文件。
我:填充的文件大小存在问题,忽略了原始文件的大小,请修改
CHAT-GPT:对不起,我犯了一个错误。你是对的,我应该在原始文件大小的基础上添加数据,直到文件大小达到30M。以下是修改后的代码:
#include <stdio.h>
#define BUFFER_SIZE 1024
void fill_file(const char* filename) {
FILE* file = fopen(filename, "ab");
if (file == NULL) {
printf("无法打开文件\n");
return;
}
char buffer[BUFFER_SIZE];
for (int i = 0; i < BUFFER_SIZE; i++) {
buffer[i] = 0xff;
}
fseek(file, 0, SEEK_END);
long current_size = ftell(file);
for (int i = 0; i < ((30 * 1024 * 1024) - current_size) / BUFFER_SIZE; i++) {
fwrite(buffer, 1, BUFFER_SIZE, file);
}
fclose(file);
}
int main() {
fill_file("test.txt");
return 0;
}
CHAT-GPT: 这段代码首先打开一个文件,然后创建一个1K大小的缓冲区并填充0xff。然后,它将文件指针移动到文件的末尾,并获取当前的文件大小。然后,它将缓冲区写入文件,直到文件的大小达到30M。最后,它关闭文件。
#include <stdio.h>
#define BUFFER_SIZE 1024
void fill_file(const char* filename) {
FILE* file = fopen(filename, "ab");
if (file == NULL) {
printf("无法打开文件\n");
return;
}
char buffer[BUFFER_SIZE];
for (int i = 0; i < BUFFER_SIZE; i++) {
buffer[i] = 0xff;
}
fseek(file, 0, SEEK_END);
long current_size = ftell(file);
long target_size = 30 * 1024 * 1024;
long remaining = target_size - current_size;
while (remaining > 0) {
int write_size = remaining > BUFFER_SIZE ? BUFFER_SIZE : remaining;
fwrite(buffer, 1, write_size, file);
remaining -= write_size;
}
fclose(file);
}
int main() {
fill_file("test.txt");
return 0;
}
CHAT-GPT:这段代码首先打开一个文件,然后创建一个1K大小的缓冲区并填充0xff。然后,它将文件指针移动到文件的末尾,并获取当前的文件大小。然后,它将缓冲区写入文件,直到文件的大小达到30M。在最后一次写入时,它只写入需要的字节数,以确保文件大小正好是30M。最后,它关闭文件。
CHAT-GPT初使用的更多相关文章
- 在云服务器上搭建个人版chatGPT及后端Spring Boot集成chat GPT
总结/朱季谦 本文分成两部分,包括[国内服务器上搭建chat GPT]和[后端Spring Boot集成chat GPT]. 无论是在[国内服务器上搭建chat GPT]和[后端Spring Boot ...
- ChatGPT的那些事 -1- 背景资料
ChatGPT的那些事 -1- 背景资料 多处搬运,学无止境 目 录 1 关键词 1 1.1. AIGC(百度百科) 1 1.2. AlphaGo(百度百科) 1 1.3. ChatG ...
- 我在京东做研发 | 从好玩到好用,爆火ChatGPT前沿分享
| 嘉宾:吴友政,京东集团高级总监.京东科技语音语言算法部负责人. 2006年中科院自博士毕业后,先后在日本国立信息通信研究机构.英国爱丁堡大学.索尼中国研究院从事自然语言处理相关研究工作,主要聚焦自 ...
- ChatGPT 通识入门
最近网络上对于Chat GPT的讨论热潮不断地膨胀,一个势必给整个人类社会带来新变革的科技和工具产生了.这个新的工具能够识别自然语言并能够理解上下文的语境,并能够具备人类思维的模型. 但是ChatGP ...
- 从Chat-GPT看爆火技术概念及医疗领域科技与应用场景
作者:京东健康 陈刚 一.前言 最近OpenAI在官网上宣告了多模态大模型 GPT-4 的诞生,它可能是迄今为止最好的多模态模型. 主要更新内容如下: 1. 逻辑分析能力更加全面.「考试」能力大幅提升 ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨
python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...
- SignalR初体验
简介 ASP .NET SignalR[1] 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以 ...
- 初尝微信小程序2-Swiper组件、导航栏标题配置
swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...
- UEFI和GPT
好就没用linux了,这几天在win8笔记本上用虚拟机装了下,也准备装到硬盘上和win8双系统使用,发现一些概念已经跟不上时代了. 一个是在虚拟机中装的时候,分配了虚拟硬盘分区时,提示选择分区表类型, ...
随机推荐
- Semantic Kernel 知多少 | 开启面向AI编程新篇章
引言 在ChatGPT 火热的当下, 即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻.当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT ...
- 好奇心驱使下试验了 chatGPT 的 js 代码的能力
手边的项目中有个函数,主要实现图片分片裁剪功能.可以优化一下. 也想看看 chatGPT 的代码理解能力,优化能力,实现能力,用例能力. 于是有了这篇文章. 实验结果总结: chatGPT 确实强大, ...
- mongoDB操作指南
目录 1. docker安装mongoDB 2. 库-database 3. 集合-collection 3.1 命名规范 3.2 增-createCollection 3.3 删-drop 4. 文 ...
- C++ 测试框架 GoogleTest 初学者入门篇 丙
theme: channing-cyan *以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/RIztusI3uKRno ...
- css 利用 linear-gradient 实现条纹背景
1. 水平条纹背景 当给背景设置渐变效果时,默认的渐变方向是垂直由上到下的,效果如下: { background: linear-gradient(#aaa, #ddd); } 尝试拉近色标的距离,会 ...
- 文件上传漏洞靶场:upload-labs(附在线地址)
重装系统:CentOS 7.6 密钥对验证,或密码验证,根据自身情况选择,博主这边为了ssh连接方便选用的密码校验. WindTerm登录系统 需提前去云服务器的安全组,开放22端口ssh连接. 更新 ...
- 如何生成文本: 通过 Transformers 用不同的解码方法生成文本
简介 近年来,随着以 OpenAI GPT2 模型 为代表的基于数百万网页数据训练的大型 Transformer 语言模型的兴起,开放域语言生成领域吸引了越来越多的关注.开放域中的条件语言生成效果令人 ...
- Django框架简单搭建增删改查页面 Django请求生命周期流程图
目录 Django框架简单搭建增删改查页面 一.前期的配置文件以及连接MySQL的基本准备 二.在数据库中准备好数据 三.将MySQL的数据展示到页面(简单认识HTML模板语法 for循环) 在Dja ...
- ts中报错信息收集
1. 错误代码 参考:https://www.mmbyte.com/article/92849.html 1 state.localuserInfo = JSON.parse(localStorage ...
- 快速上手Linux核心命令(十):Linux安装软件
目录 前言 rpm rpm包管理器 yum 自动化RPM包管理工具 前言 这期呢主要说一说Linux中包软件管理相关命令,这一期的命令虽然只有两个.但 软件包的安装和卸载都是我们平常最常用的,需要熟练 ...