重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我做过用电脑传数据到U盘和单片机的程序,用的是C语言的fopen()和fwrite()函数。你可以试一下这两个函数,基本的写法如下:
成都创新互联公司是专业的霞山网站建设公司,霞山接单;提供成都网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行霞山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
# include"STDIO.H"
# include"PROCESS.H"
# include"DATA.H"
#define DATA_SIZE 240*320
void main()
{
FILE *fp;
unsigned long i;
char Dat;
fp=fopen("COM6","wb");
if(fp==NULL)
{
printf("打开串口失败!\n");
exit(1);
}
else
{
printf("串口打开成功!\n");
printf("开始传输数据!\n");
for(i=0;iDATA_SIZE; i++)
{
Dat=Dat_Buf[i];
fwrite(Dat,sizeof(char),1,fp);
}
printf("数据传输结束!\n");
fclose(fp);
}
}
程序就类似于这种,你的打印机有什么特别的要求,你还要自己琢磨一下。
#include stdio.h
int main(void)
{
char n;
printf("请输入要打印的字符 : ");
scanf("%c",n);
for( ; ; ){
printf("%c\n\v",n);
}
return 0 ;
}
#include stdio.h
struct Sudent
{
char num[6]; //改类型
char name[8];
char score[4];
}stu[5];
// print 定义可以放前面
void print( struct Sudent stu[],int count) //加上函数类型,参数类型声明
// struct student stu[6];//这句不要
{
int i,j; //增加
for(i = 0;i count;i++) //增加
{
printf("%s%s",stu[i].num,stu[i].name/*,stu[i].score*/);//
for(j=0;j3;j++)
printf("%d",stu[i].score[j]);
printf("\n");
}
}
//
void main()
{
int i,j;
//char stu[5]; //已经声明stu为全局结构体数组了,这句不要
// char print(char stu); //
for(i=0;i5;i++)
{
scanf("%s",stu[i].num);
scanf("%s",stu[i].name);
for(j=0;j3;j++)
scanf("%d",stu[i].score[j]);
}
print(stu,5);
}
二维数组无法作为参数直接传递给函数,但是可以利用二维数组内部数据的连续性,将二维数组的地址按照一维数组的方式传递给函数,并传入对应的行列数,从而实现函数内打印二维数组的效果。
以整型为例,具体方式如下:
void print_array(int *a, int m, int n)//a为一个m行,n列的二维数组的首地址。
{
int i, j;
for(i = 0; i m; i ++)
{
for(j = 0; j n; j ++)
{
printf("%d,", a[i*n+j]);//a[i*n+j]也就是原始二维数组第i行第j列的元素。
}
printf("\n");//每行结束输出换行。
}
}