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);
从键盘读取

参考技术C 加上
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语言程序闪退!求解!在线等!的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序无法运行,求解

C语言程序函数调用闪退

C语言程序使用while和scanf时产生了闪退

c语言程序解答(在线等)?

c语言编程做出程序后闪退是怎么回事?求大神 本人菜鸟!

用c语言编程求线性方程组的解