c语言读取文件遇到的问题

这是我写的代码#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX_FILE_LINE20int... 这是我写的代码

#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_FILE_LINE 20int main (int argc , char *argv[]){ char line_of_file[MAX_FILE_LINE] ; //存读入的行的内容 char usr_acc_filename[MAX_FILE_LINE]; //用户文件名 FILE *fp; memset(line_of_file , 0 , MAX_FILE_LINE); //初始化两个数组 memset(usr_acc_filename , 0 , MAX_FILE_LINE); fp = fopen(argv[1] , "r") ; //只读方式打开config。txt文件 if ( fp != NULL) { fgets(line_of_file , MAX_FILE_LINE ,fp); //读文件第一行 sscanf(line_of_file , "%s" ,usr_acc_filename); //把第一行的内容放到usr_acc_filename中 printf(usr_acc_filename); //显示usr_acc_filename的内容 } // else // perror(line_of_file); fclose(fp); //关闭文件}

1.为什么会出现这种错误 如何解决 2. 我已经输入了正确的文件名 为什么还是没有打开文件
展开
 我来答
x_iam
推荐于2016-08-18 · TA获得超过180个赞
知道小有建树答主
回答量:252
采纳率:100%
帮助的人:209万
展开全部
printf(usr_acc_filename); //显示usr_acc_filename的内容

这一行有问题吧档悄,c语渗蠢斗言输出字符串的格式是printf("%s",char *s)。把这一丛磨句改了试试行不行。
更多追问追答
追问
不是这一句的事  试了
追答
我测试的结果是当当前目录下没有config.txt这个文件的时候,程序运行的时候就会报错;但是当目录下有这个文件的时候就没有问题了。
我测试的平台是ubuntu14.04,
#include
#include
#include
#define MAX_FILE_LINE 20

void main(int argc,char **argv){
char line_of_file[MAX_FILE_LINE];
char usr_acc_filename[MAX_FILE_LINE];
FILE *fp;

memset(line_of_file,0,MAX_FILE_LINE);
memset(usr_acc_filename,0,MAX_FILE_LINE);
fp=fopen(argv[1],"r");
if(fp!=NULL){
fgets(line_of_file,MAX_FILE_LINE,fp);
sscanf(line_of_file,"%s",usr_acc_filename);
printf("%s\n",usr_acc_filename);
}
else{
printf("Error\n");
}
fclose(fp);
}
不知道你用的平台会不会有问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式