我试图在address.txt文件中写入数组缓冲区的地址。我不知道为什么下面的代码不工作。下面是我的代码:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int func(char *str)
{
int variable_a;
char buffer[12];
FILE *fp;
fp = fopen( "address.txt, "w");
fprintf(fp, &buffer);
fclose(fp);
strcpy(buffer, str);
return 1;
}
int main(int argc, char **argv)
{
char *buf = "hellon";
if(argc > 1){
buf = argv[1];
}
func(buf);
printf("Returned Properlyn");
return 1;
}
如果要写地址,使用%p
格式化为指针地址
fprintf(fp, "%p", &buffer);
会有效果