[爆卦]字串存入陣列是什麼?優點缺點精華區懶人包

為什麼這篇字串存入陣列鄉民發文收入到精華區:因為在字串存入陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ozneroL (gsl)看板C_and_CPP標題[問題]將字串存入一元陣列??時間Thu F...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev-C++

額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)


問題(Question):
我想將txt檔資料讀出想要部分擷取下來存入一元陣列

餵入的資料(Input):


預期的正確結果(Expected Output):
m[18]想要存放a1,a2,b1出來的字串總共進入while六次,一次三的字串

錯誤結果(Wrong Output):
每次print出來的值都是想要的,可是存入陣列後出來的結果就會無法顯示
我想應該是指標存的是位置重複做的結果會覆蓋原來的值

程式碼(Code):(請善用置底文網頁, 記得排版)
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;


int main()
{
FILE *fp;
fp = fopen("C:\\Users\\99092040\\Desktop\\WI202 log\\SEQ-XXXXXXXX--20110127-230143_PASS.txt","r");
char a[50];
char m[18];
char b[50];
char c[4];
char d[6];
char *p1;
char *p2;
char *s1;
char *a1;
char *b1;
char *a2;
int i=0,j=0;
while(fgets(a,50,fp)!=NULL)
{
p1=strstr(a,"ANT0");
p2=strstr(a,"ANT1");
//printf("%s\n",a);
if(p1!=NULL || p2!=NULL)
{
//printf("%s\n",a);
s1=strtok(a,"\t");
//printf("%s\n",s1);
s1=strtok(NULL,"\t");
s1=strtok(NULL,"\t");
//printf("%s\n",&s1);
a1=s1;
//memcpy(a1, s1, sizeof(s1));
printf("%s\n",a1);
m[j]=*a1;
//strncpy(m[j],a1,sizeof(a1));
//printf("%s\n",m[0]);
j=j+1;
//a1=strcat(a1,"_");
s1=strtok(NULL,"\t");
a2=s1;
//printf("%s",a2);
m[j]=*a2;
//strcpy(m[j],a2);
j=j+1;
s1=strtok(NULL,"\t");
s1=strtok(NULL,"\t");
s1=strtok(NULL,"\t");
s1=strtok(NULL,"\t");
s1=strtok(NULL,"\t");
b1=s1;
//strcpy(m[j],b1);
//printf("%s",b1);
m[j]=*b1;
j=j+1;
//i=i+1;
//printf("%s\n",m[0]);
//printf("%s %s\t",a1,a2);

}
//printf("%s\n",m[j]);
}
printf("%s",(m[2]));
fclose(fp);
system("pause");
return 0;
}

補充說明(Supplement):
被mark的地方是我要驗證出來的結果, printf("%s",(m[0]))理論上只想要一個字串,可是卻會跑出六個字串??

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.146.217
LPH66:字串就是字元陣列 所以字串陣列就是字元的二維陣列 02/17 00:28
LPH66:然後你就知道你的問題在哪裡了 02/17 00:28
loveme00835:國文老師時常請假... 02/17 00:39
ozneroL:所以m設定為二維??我把m[18]改成m[6][3]結果還是一樣 02/17 00:45
ru035pu4xx:不是C語言嗎..怎麼會引入iostream 跟 using namespace? 02/17 10:35
pico2k:你的問題在於m[17]不是'\0',字串的結尾要用'\0' 02/17 12:09

你可能也想看看

搜尋相關網站