1. c语言编程中如何将一个文件中的信息转入到另一个文件
打开两个文件,从一个文件读数据,写入到另一个文件,例如:
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
FILE *fp1,*fp2;
char c;
fp1=fopen("dat.txt","r"); /*打开源文件*/
fp2=fopen("tot.txt","w"); /*打开将写入的文件*/
while ((c=fgetc(fp1))!=EOF) /*将源文件fp1的内容转存(复制)到目标文件fp2中*/
fputc(c,fp2);
fclose(fp1); /*关闭文件*/
fclose(fp2);
return 0;
}
//---------------------------------------------------------------------------
2. C语言将.exe中数据复制到其他文件中
第一个问题是肯定可以的,因为不管什么文件,它在机器中存储的都是一堆二进制串,可以读取出来再复制。但是第二个问题就不是了,因为编译过的代码会加入很多其它的内容,具体是什么我也不知道。如果说exe的数据与它的代码一致的话,那任何程序不就可以直接来看它的源码了?
3. 关于c语言中字符串的复制
标准C语言中有对字符串的支持啊,字符串的复制可以用函数 strcpy()。
原型:char *strcpy(char *dest, char *src);
功能:把src所指由'\0'结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
如果不知道str长度,可以先测试下其长度,给要复制的字符串一个长度参考
4. C语言如何直接将数据复制到运行的程序中,而不是我一个个手打
采用文件读取。
你可以这样
#include《......》
int main(void)
{
freopen("shu_ru.txt", "r", stdin);//这个书数据输入的来源,shu_ru.txt是你文件的地方,
freopen("shu_chu。txt", "w", stdout);//输出到什么地方。shu_chu是输出到什么地方
//shu_ru.txt要写路径,比如 c:/profile/桌面/shu_ru.txt 这种形式的。
//输出也是一样
.......
retuen 0;
}
5. 用C语言编写一个程序,将一个数组中的元素复制到另一个数组中
#include <stdio.h>
int main()
{
int i, array1[5], array2[5];
printf("请输入第一个数组:");
for(i=0; i<5; i++)
scanf("%d", &array1[i]);
printf("\n第二个数组:");
for(i=0; i<5; i++)
{
array2[i] = array1[i];
printf("%d ", array2[i]);
}
return 0;
}
6. c语言如何实现结构体的深度复制
使用memcpy即可, 比如你另外建立一个结构体sortbook[1000]用来保存排序结果,将book中的第i个元素赋值到sortbook的第j个元素中
memcpy(&sortbook[j], &book[i], sizeof(struct book));
用这个函数需要#include <string.h>
函数原型
void *memcpy(void*dest, const void *src, size_t n);
功能
由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。
头文件
#include<string.h>
返回值
函数返回一个指向dest的指针。
说明
1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。
2.与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;
例:
char a[100], b[50];
memcpy(b, a,sizeof(b)); //注意如用sizeof(a),会造成b的内存地址溢出。
strcpy就只能拷贝字符串了,它遇到'\0'就结束拷贝;例:
char a[100], b[50];
strcpy(a,b);
3.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。
//注意,source和destin都不一定是数组,任意的可读写的空间均可。
7. C语言,怎么把一个指针的内容复制到另一个指针
strcpy(nam,p1->name);
p2->grade=grade;
strcpy(p2->name,nam);
strcat 是连接两个字符串的,如果多连接几个, nam就会溢出数组了……
strcpy 才是拷贝字符串的正确函数。