由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - c的问题
相关主题
New C++ programmer, need to ask a I/O file read questionfree(char *)的问题 (转载)
帮忙看看这几段程序有问题吗?大家看看这个简单的qsort排序的问题
呼叫THRUST等C语言牛牛,菜鸟级C语言指针问题请帮忙看看这个字符函数的错误在哪里
请教一道c/c++题数组问题
再问一个free()的问题看下这个小程序
Array in C怎么得到char *分配空间的大小?
帮忙找个错请问strcpy()和memcpy()的写法问题  (转载)
问个c语言的问题C pass string 问题
相关话题的讨论汇总
话题: words话题: pch话题: printf话题: null话题: char
进入Programming版参与讨论
1 (共1页)
f**********d
发帖数: 4960
1
最近有点工作要用到c:
想丛一个array复制到另一个array,想把内容复制过去,不能指向同一个地址(把指针
复制过去)。
我的代码是复制指针的,a的内容变了b的内容也变了,这不是我需要的。如何改正???
char *a[3] = {"1", "2", "3"};
char *b[3];
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
z*y
发帖数: 1311
2

??
strcpy ?

【在 f**********d 的大作中提到】
: 最近有点工作要用到c:
: 想丛一个array复制到另一个array,想把内容复制过去,不能指向同一个地址(把指针
: 复制过去)。
: 我的代码是复制指针的,a的内容变了b的内容也变了,这不是我需要的。如何改正???
: char *a[3] = {"1", "2", "3"};
: char *b[3];
: b[0] = a[0];
: b[1] = a[1];
: b[2] = a[2];

f**********d
发帖数: 4960
3
简单一点说吧,
a[0] = "a";
a[0]其实是指向这个"a"的指针,
如何把a[0]的内容提出来,放到一个新的string里。

【在 z*y 的大作中提到】
:
: ??
: strcpy ?

s******y
发帖数: 416
4
*b[I] = *a[I];

【在 f**********d 的大作中提到】
: 简单一点说吧,
: a[0] = "a";
: a[0]其实是指向这个"a"的指针,
: 如何把a[0]的内容提出来,放到一个新的string里。

f**********d
发帖数: 4960
5
试了报错,其实我是要逐行读入文件,并把每一行用";"分隔成不同fields,再把
fields存入array里。
文件第一行是header,之后每行为 v1;v2;v3;v4;v5
现在*Words[j] = *pch;报错了,说access violation writing location 0xccccccccc.
fp = fopen("Data Files\ChestClinic.txt", "r");
if (fp == NULL)
{
printf("file is null");
}
i = 0;
while (fgets(line, sizeof(line), fp))
{
if (i == 0)
{
printf("The format of network structure file is:n");
printf("%sn", line);
printf("The data of network structure file is:n");
}
else
{
char *pch;
// Define the array to store the words.
char *Words[NUM_WORDS] = {NULL};
j = 0;
printf("%sn", line);
pch = strtok(line, ";");
while (pch != NULL)
{
printf("%sn", pch);
*Words[j] = *pch;
pch = strtok(NULL, ";");
j++;
}
// Check if the data format is alright.
if (sizeof(Words)/sizeof(Words[0]) != NUM_WORDS)
{
printf("The data format is wrong.n");
}
else
{
NodeNames[i - 1] = Words[0];
}
}
i++;
}

【在 s******y 的大作中提到】
: *b[I] = *a[I];
p***o
发帖数: 1252
6
你对C完全没概念,还是拿Python做吧 ...

0xccccccccc.

【在 f**********d 的大作中提到】
: 试了报错,其实我是要逐行读入文件,并把每一行用";"分隔成不同fields,再把
: fields存入array里。
: 文件第一行是header,之后每行为 v1;v2;v3;v4;v5
: 现在*Words[j] = *pch;报错了,说access violation writing location 0xccccccccc.
: fp = fopen("Data Files\ChestClinic.txt", "r");
: if (fp == NULL)
: {
: printf("file is null");
: }
: i = 0;

f**********d
发帖数: 4960
7
不行啊,这个是api人家只提供c接口,
不然我费什么劲。

【在 p***o 的大作中提到】
: 你对C完全没概念,还是拿Python做吧 ...
:
: 0xccccccccc.

n*********u
发帖数: 1030
8
应该要从底层开始copy,array的element是char,int的话copy char,int就可以了(
注意overflow)。
array的element是object的话要run每个object的copy() function。
*想问一下他的API是c的,你再根据你的需要写个转成其他语言的wrapper不可以么(比
如swig)?除了performance需要,写c真的很劳命伤财的。
f**********d
发帖数: 4960
9
谢谢参与讨论的网友,已经解决了,需要用malloc分配地址,然后用strcpy拷贝出来。
c是什么都要操心,这也是它好的理由吧。

【在 n*********u 的大作中提到】
: 应该要从底层开始copy,array的element是char,int的话copy char,int就可以了(
: 注意overflow)。
: array的element是object的话要run每个object的copy() function。
: *想问一下他的API是c的,你再根据你的需要写个转成其他语言的wrapper不可以么(比
: 如swig)?除了performance需要,写c真的很劳命伤财的。

W***o
发帖数: 6519
10
这个好像是比较基础的C问题啊,当年写C的时候应该想都不用想

【在 f**********d 的大作中提到】
: 谢谢参与讨论的网友,已经解决了,需要用malloc分配地址,然后用strcpy拷贝出来。
: c是什么都要操心,这也是它好的理由吧。

a9
发帖数: 21638
11
你从一开始定义char *a[3], *b[3]就搞错了

??

【在 f**********d 的大作中提到】
: 最近有点工作要用到c:
: 想丛一个array复制到另一个array,想把内容复制过去,不能指向同一个地址(把指针
: 复制过去)。
: 我的代码是复制指针的,a的内容变了b的内容也变了,这不是我需要的。如何改正???
: char *a[3] = {"1", "2", "3"};
: char *b[3];
: b[0] = a[0];
: b[1] = a[1];
: b[2] = a[2];

y**********a
发帖数: 824
12

char *a[3] = {"1", "2", "3"};
char *b[3];
a, b 的空间都是在栈上面分配的,跳出函数后就会被回收了。

【在 f**********d 的大作中提到】
: 谢谢参与讨论的网友,已经解决了,需要用malloc分配地址,然后用strcpy拷贝出来。
: c是什么都要操心,这也是它好的理由吧。

f**********d
发帖数: 4960
13
c都忘了,还是本科学的。
不过还好,搞了两天,基本程序通了。

【在 a9 的大作中提到】
: 你从一开始定义char *a[3], *b[3]就搞错了
:
: ??

1 (共1页)
进入Programming版参与讨论
相关主题
C pass string 问题再问一个free()的问题
char s[]和char *ps的不同Array in C
我也来个。某公司招初级C程序员的面试题。[转载]帮忙找个错
C 语言,初学者,简单问题问个c语言的问题
New C++ programmer, need to ask a I/O file read questionfree(char *)的问题 (转载)
帮忙看看这几段程序有问题吗?大家看看这个简单的qsort排序的问题
呼叫THRUST等C语言牛牛,菜鸟级C语言指针问题请帮忙看看这个字符函数的错误在哪里
请教一道c/c++题数组问题
相关话题的讨论汇总
话题: words话题: pch话题: printf话题: null话题: char