当前位置: 技术问答>linux和unix
unix下c编程的难题啊
来源: 互联网 发布时间:2016-06-11
本文导语: 有文件,内容如下: fjdhh#大幅度#的ddfdl#@@ 偶定义了一个数组buf[50],先fgets把文件内容读到buf中,然后用变量k遍历,遇到#就把两个#之间的字符串放入temp变量中,如下: k=0; while(buf[k]!=NULL){ n=0; memset(temp,0,sizeof(temp)); wh...
有文件,内容如下:
fjdhh#大幅度#的ddfdl#@@
偶定义了一个数组buf[50],先fgets把文件内容读到buf中,然后用变量k遍历,遇到#就把两个#之间的字符串放入temp变量中,如下:
k=0;
while(buf[k]!=NULL){
n=0;
memset(temp,0,sizeof(temp));
while(buf[k]!='#'){
temp[n++]=buf[k++];
}
printf("%s",temp);
if(strcmp(temp,"@@"))break;
k++;
}
可编译的时候总要报错:
(coredump)
请问这是怎么回事?(打印出最后的@@就出现(coredump)错误),难道buf[k]!=NULL有问题?不能这样判别是否到文件尾部?
对尾部的@@,如何用strcmp进行比较呢?偶用strcmp(temp,"@@")没用啊,不能退出啊!
fjdhh#大幅度#的ddfdl#@@
偶定义了一个数组buf[50],先fgets把文件内容读到buf中,然后用变量k遍历,遇到#就把两个#之间的字符串放入temp变量中,如下:
k=0;
while(buf[k]!=NULL){
n=0;
memset(temp,0,sizeof(temp));
while(buf[k]!='#'){
temp[n++]=buf[k++];
}
printf("%s",temp);
if(strcmp(temp,"@@"))break;
k++;
}
可编译的时候总要报错:
(coredump)
请问这是怎么回事?(打印出最后的@@就出现(coredump)错误),难道buf[k]!=NULL有问题?不能这样判别是否到文件尾部?
对尾部的@@,如何用strcmp进行比较呢?偶用strcmp(temp,"@@")没用啊,不能退出啊!
|
给我帖子做个广告
http://topic.csdn.net/u/20090610/14/f26118a5-81da-4062-a8a1-e4174f2bfbf3.html?50270
makefile问题,网上都找不到原因的~~~
http://topic.csdn.net/u/20090610/14/f26118a5-81da-4062-a8a1-e4174f2bfbf3.html?50270
makefile问题,网上都找不到原因的~~~