int main(int argc ,char* argv[]){ 11 int year ,month ,date; 12 char buf[N]; 13 FILE *fp; 14 if (argc<2) 15 { 16 printf("canshucuowu \n"); 17 return -1; 18 } 19 if((fp=fopen(argv[1],"a+") ) ==NULL) 20 { 21 perror ("fopen"); 22 return -1; 23 24 } 25 fprintf(fp,"%d-%d-%d\n",year,month,date); 26 sprintf(buf,"%d-%d-%d\n",year,month,date); 27 fclose(fp); 28 return 0; 29 30 }为啥sprintf不输出哦
时间: 2024-01-14 19:04:59 浏览: 63
在这段代码中,sprintf 函数的作用是将年月日格式化为字符串并保存在 buf 数组中,但这个字符串并没有被输出。如果需要将这个字符串输出到屏幕上或者写入到另一个文件中,可以使用 printf 函数或者 fprintf 函数。
可以在 fprintf 函数中使用 buf 数组来输出这个字符串,例如:
```c
fprintf(stdout, "Date: %s", buf);
```
这样就可以将 buf 数组中保存的字符串输出到标准输出中了。如果需要将这个字符串写入到文件中,可以使用类似的方式,将输出语句改为 fprintf 函数。
需要注意的是,在这段代码中年月日的值没有被初始化,因此输出的日期信息可能是不正确的。
相关问题
int main(int argc,char **argv),为什么要char **argv[]
int main(int argc,char*argv[])是一个C/C++程序的主函数,它是程序的入口点。
- argc (argument count) 表示传递给程序的命令行参数的数量。它的值至少为1,因为第一个参数总是程序的名称。
- argv (argument vector) 是一个指针数组,用于存储传递给程序的命令行参数。argv[0] 存储的是程序的名称, argv[1] 到 argv[argc-1] 存储的是其他参数。
这个函数通常是这样定义的:
```
int main(int argc,char*argv[]){
//程序代码
return 0;
}
```
在函数体内执行程序的具体功能,最后 return 0 表示程序结束并正常退出。
int main(int argc, char** argv)
"int main(int argc, char** argv)" 是 C/C++ 程序的主函数。其中,"int" 表示函数返回值类型为整型;"main" 是函数名称;"(int argc, char** argv)" 是函数参数,分别表示程序参数个数和程序参数数组。
阅读全文