c语言中的小小白-CSDN博客c语言中的小小白关注算法,c++,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm=1001.2014.3001.5343
给大家分享一句我很喜欢我话:
知不足而奋进,望远山而前行!!!
铁铁们,成功的路上必然是孤独且艰难的,但是我们不可以放弃,远山就在前方,但我们能力仍然不足,所有我们更要奋进前行!!!
今天我们更新了文件操作内容,
🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝
要求:
使用所学文件操作,在当前目录下放一个文件data.txt,写一个程序,将data.txt文件拷贝一份,生成data_copy.txt文件。
基本思路:
- 打开文件data.txt,读取数据
- 打开文件data_copy.txt,写数据
- 从data.txt中读取数据存放到data_copy.txt文件中,直到文件结束。
- 关闭两个文件
代码实现:
#include <stdio.h>
int main() {
FILE* sourceFile, * targetFile;
char ch;
// 打开源文件data.txt以供读取
sourceFile = fopen("data.txt", "r");
if (sourceFile == NULL) {
perror("无法打开源文件");
return 1;
}
// 打开目标文件data_copy.txt以供写入
targetFile = fopen("data_copy.txt", "w");
if (targetFile == NULL) {
perror("无法打开目标文件");
fclose(sourceFile);
return 1;
}
// 从sourceFile中读取字符并写入targetFile中
while ((ch = fgetc(sourceFile)) != EOF) {
fputc(ch, targetFile);
}
// 关闭文件流
fclose(sourceFile);
fclose(targetFile);
printf("文件已成功复制。\n");
return 0;
}#include <stdio.h>
int main() {
FILE* sourceFile, * targetFile;
char ch;
// 打开源文件data.txt以供读取
sourceFile = fopen("data.txt", "r");
if (sourceFile == NULL) {
perror("无法打开源文件");
return 1;
}
// 打开目标文件data_copy.txt以供写入
targetFile = fopen("data_copy.txt", "w");
if (targetFile == NULL) {
perror("无法打开目标文件");
fclose(sourceFile);
return 1;
}
// 从sourceFile中读取字符并写入targetFile中
while ((ch = fgetc(sourceFile)) != EOF) {
fputc(ch, targetFile);
}
// 关闭文件流
fclose(sourceFile);
fclose(targetFile);
printf("文件已成功复制。\n");
return 0;
}
要求:
用malloc实现二维数组
代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int row = 4,col = 5;
//申请一个 4行 5列的二维数组
int **ar = (int**)malloc(sizeof(int*) * row); //sizeof(int*),不能少*,一个指针的内存大小,每个元素是一个指针。
for (i = 0;i < row;i++)
{
ar[i] = (int*)malloc(sizeof(int) * col);
}
for (i = 0;i < row;i++)
{
for (j = 0;j < col;j++)
{
printf("%p ",&ar[i][j]);
}
printf("\n");
}
for (i = 0;i < row;i++)
free(ar[i]);
free(ar);
return 0;
}#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int row = 4,col = 5;
//申请一个 4行 5列的二维数组
int **ar = (int**)malloc(sizeof(int*) * row); //sizeof(int*),不能少*,一个指针的内存大小,每个元素是一个指针。
for (i = 0;i < row;i++)
{
ar[i] = (int*)malloc(sizeof(int) * col);
}
for (i = 0;i < row;i++)
{
for (j = 0;j < col;j++)
{
printf("%p ",&ar[i][j]);
}
printf("\n");
}
for (i = 0;i < row;i++)
free(ar[i]);
free(ar);
return 0;
}