C语言程序闪退!求解!在线等!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序闪退!求解!在线等!相关的知识,希望对你有一定的参考价值。
我想问这个。是资料里的例题,但是运行闪退!
fscandf没有运行?
以上是PPT里没有被我修改的代码!
你看一下你的ccc文件就知道了。 结果在那里面。
当然,如果ccc中没有数据时,你的ccc文件中的信息会有一些莫名其妙的信息。追问
我也发现,fscanf这个事从文件里读,例题却说从键盘中读取,我压根没机会输入
追答呵呵,你注意一下,例题中写的是
fscanf( stdin , "%s %d" , s , &a ) ;
stdin是个宏,它指的就是键盘输入,也叫标准输入!
你只需要把你自己的fscanf改成以上写法就成了。
OMG!!!PPT里面没有介绍这个stdin啊!~!被坑了,我以为是他自己打错了!好吧,现在能输入了,为什么一串英文被写进TXT里之后,后面会有64这两个数字啊?
追答能展示一下你的输入和文件内容吗?不太明白你的意思
追问我怕只输入了前面两段乱打的东西,而后面跟着出现64两个字
解释一下你手PPT中的代码的意思:
打开一个名为test的文件(写方式),从键盘(标准输入stdout)读入一串字符s 和一个整数a,并将s a存储到test文件中,然后关闭文件。
再打开test文件(读方式),从文件中读取一个字符串c 和一个整数b,并将c b输出到屏幕(标准输出stdout)上。
当你在输入信息时,要输入两部分:
abcdef 123
前面一部分是字符串 后面的数字是整数
哦,明白了!!OKOK!!最后啊,我修改之后成功了,唯一发现,当我输入到S里面去,S保存为S【80】,这个数组,发现我不能输入空格!是不是到后面学深入了就可以输入任何东西呢?例如用C编写txt的编辑器,现在单一一个fscandf是不能输入空格的
追答scanf类函数( sscanf 、fscanf等)在字符串处理时,都以空白字符(空格、TAB、回车等)为数据默认分隔符,所以,不能用这类函数来接收带空格的数据串,可以采用gets函数,你以后学多了就知道了。
参考技术A 这个问题是这样的,你的file并不是io的默认输出设备,也就是说没有和终端关联,所以此时是不会处理终端的事件的,也就不可能得到终端的输入。cin,cout,cerror 这三个对象里面表村了和终端关联的默认FILE* 分别是 0, 1, 2 ,所以在使用这三个的时候你才能和终端交互。希望你理解,如果不是很明白推荐看一下unix 高级编程这本书 参考技术B 用fopen时要相应的写出打开失败措施
这样就可以看出是否打开失败了追问
还工程有限公司的,亏你说得出,我fopen是w+,新建txt,怎么会打开失败?关键的问题都不是这个
追答你的代码功能是打开一个空文件,读取文件内容并写入文件
文件空的当然没法读取内容
改成
fscanf(stdin, "%s %d", s, &a);
从键盘读取
printf("%s\na: %d\n", s, a);
getch();
看看 参考技术D 你要判断fp是否为空啊! 如果fp为空 ,后续的操作当然无法进行追问
你也是没认真看我的问题的,我的fp是w+,新建文档,不存在打开错误的情况
第5个回答 2013-07-29 你运行的时候不要按F5执行,按Ctrl+F5执行就可以了求解navicat for mysql 对1个G的sql文件导入超级慢怎么处理?在线等!急急急!求指点
在my.ini最底下添加个KV对:max_allowed_packet=100000M
然后重启Mysql,就可以按普通的方法导了,可以用mysql命令,也可以用navicat for mysql(我一般用这个)
不知道能不能写成100G,没试过,LZ试下吧。
如果改不了my.ini可以试试这个方法,我没试过,因为我一直是改my.ini的,相信你有这么大的数据库应该不是用的虚拟主机吧:
set global max_allowed_packet = 100*1024*1024*1024;
然后用:
show VARIABLES like '%max_allowed_packet%';
查看一下是否修改成功,这个应该就不用重启mysql了,重启反而失效了。 参考技术A mysqldump命令试试这要好一些?很多参数可以控制。
以上是关于C语言程序闪退!求解!在线等!的主要内容,如果未能解决你的问题,请参考以下文章