+ -
当前位置:首页 → 问答吧 → G++ ,我郁闷了

G++ ,我郁闷了

时间:2010-06-16

来源:互联网

为了实现写入字符串数组(不定数目的),想用char**,如何实现?

作者: leycn   发布时间: 2010-06-16

引用:
c写入指针的指针到文件

不明白.

作者: pocoyo   发布时间: 2010-06-16

char** strs;
strs是包含了一系列字符串的字符数组。
如何正确的写入到文件?

作者: leycn   发布时间: 2010-06-16

#include <stdio.h>
#include <string.h>

typedef struct _args
{
int a_num;
char** a_arg;
} ARGS;

int main(int argc,char** argv)
{
FILE* fwr;
ARGS argw;
argw.a_num=argc;
int i;
for(i=0;i<argc;i++)
strcpy(argw.a_arg[i],argv[i]);
fwr=fopen("argv.txt","w");
fwrite(&argw,sizeof(argw),1,fwr);

return 0;
}

作者: leycn   发布时间: 2010-06-16

段错误...估计是因为访问了非法的内存空间。请问该如何解决?我是个菜鸟。不知道啊。。。

作者: leycn   发布时间: 2010-06-16

好久不看 纯顶吧

作者: pocoyo   发布时间: 2010-06-16

顶上去,希望有人能帮忙解决。。。

作者: leycn   发布时间: 2010-06-16

自己设计一个串行化的方法

任何时候指针都是不能通过文件来传递的,保存到文件里的只能是数据和数据之间的逻辑关系,而不能是指针

作者: BigSnake.NET   发布时间: 2010-06-16

啊。。。 。。。难怪读不出数据来。谢谢!

作者: leycn   发布时间: 2010-06-16

leycn 写道:
#include <stdio.h>
#include <string.h>

typedef struct _args
{
int a_num;
char** a_arg;
} ARGS;

int main(int argc,char** argv)
{
FILE* fwr;
ARGS argw;
argw.a_num=argc;
int i;
for(i=0;i<argc;i++)
strcpy(argw.a_arg[i],argv[i]);
fwr=fopen("argv.txt","w");
fwrite(&argw,sizeof(argw),1,fwr);

return 0;
}

这个应该没错.

作者: meteormatt   发布时间: 2010-06-17

meteormatt 写道:
这个应该没错.


这个都已经错的没法改了...

作者: Strange   发布时间: 2010-06-17

Strange 写道:
meteormatt 写道:
这个应该没错.


这个都已经错的没法改了...

... ...代码没有错误能编译过去.但是不能实现要的功能.

作者: leycn   发布时间: 2010-06-17

leycn 写道:
Strange 写道:
meteormatt 写道:
这个应该没错.


这个都已经错的没法改了...

... ...代码没有错误能编译过去.但是不能实现要的功能.

对的.

我也是这个意思.

代码本身没有Error,只是没有实现功能.

作者: meteormatt   发布时间: 2010-06-21

作者: life_love43   发布时间: 2010-07-23

leycn 写道:
段错误...估计是因为访问了非法的内存空间。请问该如何解决?我是个菜鸟。不知道啊。。。

你说对了。
就错在字符串拷贝那一行。因为你还没给 argw.a_arg分配内存。

作者: ywj   发布时间: 2010-08-14