从文件中读取;无法创建进程
这是我的代码:
#include<stdio.h>
void main()
{
FILE *fp;
fp=fopen("text.txt","r");
if(fp==NULL)
printf("ahaha");
struct karan{
int index;
int number;
char string[10];
};
struct karan first;
fscanf(fp,"%d %d %s",first.index,first.number,first.string);
printf("%d %d %s",first.index,first.number,first.string);
}
如果我的文本文件包含
1 123 karan
2 1234 哈哈
当我编译代码时它说
可能在定义之前使用first。
并在运行代码时显示
无法创建进程!
我做错了什么?
Here's my code:
#include<stdio.h>
void main()
{
FILE *fp;
fp=fopen("text.txt","r");
if(fp==NULL)
printf("ahaha");
struct karan{
int index;
int number;
char string[10];
};
struct karan first;
fscanf(fp,"%d %d %s",first.index,first.number,first.string);
printf("%d %d %s",first.index,first.number,first.string);
}
If my text file contains
1 123 karan
2 1234 haha
When i compile the code it says
Possible use of first before definition.
and on running the code it says
Cannot create process!
What am i doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将
&
运算符与fscanf
结合使用。否则,您会将
first
中的垃圾视为地址,并会导致未定义的行为。另外,请注意first.string
的格式。有一个 C 常见问题解答
You need to use the
&
operator withfscanf
.Otherwise you'll be treating the junk in
first
as addresses and will incur undefined behavior. Also, do note the format forfirst.string
.There is a C FAQ