写的很垃圾,勿笑!
在问号那里如何写才能实现文件被命名为i的值?
#define N 65535
#include <stdio.h>
main()
{
FILE *fp;
char str[N];
int i=0;
str[N]=getchar();
for (i;;i++)
{if ((fp=fopen("?","a+"))==NULL) 就是左边那个问号
{printf("Can not open the file\n");
exit(0);
}
else fprintf (fp,"%s",str[N]);
}
fclose(fp);
getch();
}
7 个解决方案
#1
itoa()函数;
调用方式:char *itoa(int num, char *str, int radix)
说明:itoa()函数的原型在stdlib.h中。
函数itoa()把整型数num转换成与其等价的字符串,且把其结果放在由str所指向的字符串中。字符串输出的进制是由radix确定的,它可以在2到36的范围内变化。
该函数返回由str所指向的指针,一般没有错误返回值。调用itoa()时,一定要用足够的长度字符串来保存转换后的结果。所需要的最大长度是17字节。
例子:
/*itoa.c*/
#include <stdlib.h>
#include <stdio.h>
void main()
{
char p[20];
int value = 1423;
clrscr();
itoa(value,p,16);
printf("The hexadecimal of 1423 is %s\n",p);
itoa(value,p,8);
printf("The octadecimal of 1423 is %s\n",p);
itoa(value,p,2);
printf("The binary of 1423 is %s\n",p);
getch();
}
看到上面这个东东,你就知道了吧
想办法,把i转换成字符串
放到你的问号那里就行了
调用方式:char *itoa(int num, char *str, int radix)
说明:itoa()函数的原型在stdlib.h中。
函数itoa()把整型数num转换成与其等价的字符串,且把其结果放在由str所指向的字符串中。字符串输出的进制是由radix确定的,它可以在2到36的范围内变化。
该函数返回由str所指向的指针,一般没有错误返回值。调用itoa()时,一定要用足够的长度字符串来保存转换后的结果。所需要的最大长度是17字节。
例子:
/*itoa.c*/
#include <stdlib.h>
#include <stdio.h>
void main()
{
char p[20];
int value = 1423;
clrscr();
itoa(value,p,16);
printf("The hexadecimal of 1423 is %s\n",p);
itoa(value,p,8);
printf("The octadecimal of 1423 is %s\n",p);
itoa(value,p,2);
printf("The binary of 1423 is %s\n",p);
getch();
}
看到上面这个东东,你就知道了吧
想办法,把i转换成字符串
放到你的问号那里就行了
#2
我现在是大三学生,信息管理与信息系统专业
我QQ是:124794760
欢迎CSDN上的朋友加我
共同进步吧!
我QQ是:124794760
欢迎CSDN上的朋友加我
共同进步吧!
#3
楼主的程序很多错。
#4
/*或者使用sprintf()函数,将i写到字符数组中去*/
#include"stdio.h"
#include"conio.h"
#define MAX 200
#define N 65535
#include <stdio.h>
main()
{
FILE *fp;
char str[20],str1[10];/*数组长度过大*/
int i;
/*str[N]=getchar();这句有问题,不知你是不是想输入一个字符串放到str数组中?*/
gets(str);
for (i=0;;i++)
{
sprintf(str1,"%d",i);
if ((fp=fopen(str1,"w"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
fprintf(fp,"%s",str);
fclose(fp);
}
}
#include"stdio.h"
#include"conio.h"
#define MAX 200
#define N 65535
#include <stdio.h>
main()
{
FILE *fp;
char str[20],str1[10];/*数组长度过大*/
int i;
/*str[N]=getchar();这句有问题,不知你是不是想输入一个字符串放到str数组中?*/
gets(str);
for (i=0;;i++)
{
sprintf(str1,"%d",i);
if ((fp=fopen(str1,"w"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
fprintf(fp,"%s",str);
fclose(fp);
}
}
#5
ftoi()
#6
或者用宏
#define FILENAME(X) ""#X
... ...
fp=fopen(FILENAME(i),"w")
#define FILENAME(X) ""#X
... ...
fp=fopen(FILENAME(i),"w")
#7
对不起,我好像说错了,嘻嘻,还是像zhangfjj(小张) 说的那样做吧。
#1
itoa()函数;
调用方式:char *itoa(int num, char *str, int radix)
说明:itoa()函数的原型在stdlib.h中。
函数itoa()把整型数num转换成与其等价的字符串,且把其结果放在由str所指向的字符串中。字符串输出的进制是由radix确定的,它可以在2到36的范围内变化。
该函数返回由str所指向的指针,一般没有错误返回值。调用itoa()时,一定要用足够的长度字符串来保存转换后的结果。所需要的最大长度是17字节。
例子:
/*itoa.c*/
#include <stdlib.h>
#include <stdio.h>
void main()
{
char p[20];
int value = 1423;
clrscr();
itoa(value,p,16);
printf("The hexadecimal of 1423 is %s\n",p);
itoa(value,p,8);
printf("The octadecimal of 1423 is %s\n",p);
itoa(value,p,2);
printf("The binary of 1423 is %s\n",p);
getch();
}
看到上面这个东东,你就知道了吧
想办法,把i转换成字符串
放到你的问号那里就行了
调用方式:char *itoa(int num, char *str, int radix)
说明:itoa()函数的原型在stdlib.h中。
函数itoa()把整型数num转换成与其等价的字符串,且把其结果放在由str所指向的字符串中。字符串输出的进制是由radix确定的,它可以在2到36的范围内变化。
该函数返回由str所指向的指针,一般没有错误返回值。调用itoa()时,一定要用足够的长度字符串来保存转换后的结果。所需要的最大长度是17字节。
例子:
/*itoa.c*/
#include <stdlib.h>
#include <stdio.h>
void main()
{
char p[20];
int value = 1423;
clrscr();
itoa(value,p,16);
printf("The hexadecimal of 1423 is %s\n",p);
itoa(value,p,8);
printf("The octadecimal of 1423 is %s\n",p);
itoa(value,p,2);
printf("The binary of 1423 is %s\n",p);
getch();
}
看到上面这个东东,你就知道了吧
想办法,把i转换成字符串
放到你的问号那里就行了
#2
我现在是大三学生,信息管理与信息系统专业
我QQ是:124794760
欢迎CSDN上的朋友加我
共同进步吧!
我QQ是:124794760
欢迎CSDN上的朋友加我
共同进步吧!
#3
楼主的程序很多错。
#4
/*或者使用sprintf()函数,将i写到字符数组中去*/
#include"stdio.h"
#include"conio.h"
#define MAX 200
#define N 65535
#include <stdio.h>
main()
{
FILE *fp;
char str[20],str1[10];/*数组长度过大*/
int i;
/*str[N]=getchar();这句有问题,不知你是不是想输入一个字符串放到str数组中?*/
gets(str);
for (i=0;;i++)
{
sprintf(str1,"%d",i);
if ((fp=fopen(str1,"w"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
fprintf(fp,"%s",str);
fclose(fp);
}
}
#include"stdio.h"
#include"conio.h"
#define MAX 200
#define N 65535
#include <stdio.h>
main()
{
FILE *fp;
char str[20],str1[10];/*数组长度过大*/
int i;
/*str[N]=getchar();这句有问题,不知你是不是想输入一个字符串放到str数组中?*/
gets(str);
for (i=0;;i++)
{
sprintf(str1,"%d",i);
if ((fp=fopen(str1,"w"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
fprintf(fp,"%s",str);
fclose(fp);
}
}
#5
ftoi()
#6
或者用宏
#define FILENAME(X) ""#X
... ...
fp=fopen(FILENAME(i),"w")
#define FILENAME(X) ""#X
... ...
fp=fopen(FILENAME(i),"w")
#7
对不起,我好像说错了,嘻嘻,还是像zhangfjj(小张) 说的那样做吧。