argv 不够长怎么办,c语言,跪求高手指点 5

例如,我要从argv[1]里面提取单词,但是单词的长度太长了,就例如orangepurplepink,gcc只能读到purple的第二个p,怎么读取后面的字母啊,跪求指点... 例如,我要从argv[1]里面提取单词,但是单词的长度太长了,就例如orangepurplepink,gcc只能读到purple的第二个p,怎么读取后面的字母啊,跪求指点!
#include <stdio.h>
int main(int argc, char **argv){
char *p = argv[1];
printf("argv[1] == %s\n", argv[1]);
return 0;
}
展开
 我来答
QQ8899654
2012-09-07 · TA获得超过295个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:215万
展开全部
int main(int argc, char * argv[])
这样写的么?
后面是一个字符数组指针, 根本不会有说单词太长读不完的情况。
除非你的单词超过2MB(Windows 64位机器上栈的大小)这样才会导致机器崩溃。
kaixingui2012
2012-09-07 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6425万
展开全部
你怎么写的程序?不应该啊
追问
我用的是一个指针

我又试了一下,
printf("%s\n", argv[1]);
打出来的是正确的

但是我加了:
char *p = argv[1];
再打
printf("%s\n", argv[1]);
就不对了

我真的不知道什么情况,麻烦大师了!
追答
你的示例没有给完整,就你的示例代码不会出这个问题(单独编译试一下就知道了),你查一下吧,会不会是哪里的变量定义不合适了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kenlee_gz
2012-09-07 · TA获得超过494个赞
知道小有建树答主
回答量:457
采纳率:33%
帮助的人:354万
展开全部
程序合理啊,看不出问题,在Visual C里面运行得很好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式