请问如下程序正确吗

bzxaggio 2010-11-30 11:54:36
for (i=1;i++;i<=1000)
{
fgets(buffer,100,file);
if (buffer=="-100")
break;
else
string=buffer;
end
}

目的是从一个txt文本中每行读入一次 并给string赋值 直到读到txt的-100结束 file为指针 指向txt file
txt格式如下:
asdasdasd;
asdwasdasd=121;
sdasd
-100
...全文
77 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
aining0809 2010-11-30
  • 打赏
  • 举报
回复
>LZ是正确的,不再重复!
LS是正确的,不再重复!
aining0809 2010-11-30
  • 打赏
  • 举报
回复
LZ有点儿乱了,这个如果是C++也不部分内容是正确的。
但是这个是C程序,绝对没有这么方便的使用。
LZ是正确的,不再重复!
bzxaggio 2010-11-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bcj00000 的回复:]

引用 6 楼 bcj00000 的回复:
不可以你那是比较两个变量的地址,不是内容

strncmpy(buffer,"-100",sizeof("-100"));


多打了个y

strncmp();
[/Quote]


那请问用strncmpy(buffer,"-100",sizeof("-100")) 这样的话就是比较字符串的内容了是不??
还有 break没有错吧 判断出读入的txt内容为-100就自动跳出 没有错吧??
此段语句目的是从一个txt文本中每行读入一次 并给string赋值 直到读到txt的-100结束 file为指针 指向text file
luciferisnotsatan 2010-11-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bcj00000 的回复:]

引用 6 楼 bcj00000 的回复:
不可以你那是比较两个变量的地址,不是内容

strncmpy(buffer,"-100",sizeof("-100"));


多打了个y

strncmp();
[/Quote]
+1
memoleak 2010-11-30
  • 打赏
  • 举报
回复
if...else...end
楼主用的是C语言吗?
liutengfeigo 2010-11-30
  • 打赏
  • 举报
回复
字符串不能用==来比较。
bcj00000 2010-11-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bcj00000 的回复:]
不可以你那是比较两个变量的地址,不是内容

strncmpy(buffer,"-100",sizeof("-100"));
[/Quote]

多打了个y

strncmp();
bcj00000 2010-11-30
  • 打赏
  • 举报
回复
不可以你那是比较两个变量的地址,不是内容

strncmpy(buffer,"-100",sizeof("-100"));
bzxaggio 2010-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hnuqinhuan 的回复:]

string=buffer;
应该是拷贝函数吧 strcpy
[/Quote]

那如果改成
char *con="-100";
for (i=1;i++;i<=1000)
{
fgets(buffer,100,file);
if (buffer==con)
break;
else
str=buffer;
end
}
可以不??
就想叫yoko 2010-11-30
  • 打赏
  • 举报
回复
不要用string作为变量名,你用str都行
無_1024 2010-11-30
  • 打赏
  • 举报
回复
string=buffer;
应该是拷贝函数吧 strcpy
無_1024 2010-11-30
  • 打赏
  • 举报
回复
if (buffer=="-100")
字符串比较不是这么比较的 要用strcmp 比较函数
Athenacle_ 2010-11-30
  • 打赏
  • 举报
回复
不对把~。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧