本篇ShengYu 介紹C/C++ strcpy 用法與範例,strcpy 是用來複製字串的函 ... multimap 的實作方式通常是用紅黑樹(red-black tree)實作的,這樣它可以 ... ... <看更多>
「strcpy實作」的推薦目錄:
- 關於strcpy實作 在 Re: [問題] 字串分開實作- 看板C_and_CPP 的評價
- 關於strcpy實作 在 C/C++ strcpy 用法與範例 的評價
- 關於strcpy實作 在 [問題]實作strcpy產生bus error的問題 - PTT 熱門文章Hito 的評價
- 關於strcpy實作 在 [問題] strcmp的輸出怪怪的- 看板C_and_CPP | PTT數位生活區 的評價
- 關於strcpy實作 在 [分享] ptt C 語言新手十誡 的評價
- 關於strcpy實作 在 i2p-nthu/8-calculator_tree.pdf.md at master - GitHub 的評價
- 關於strcpy實作 在 Re: [討論] 如果想實作C的function或API,該怎麼了렠… 的評價
- 關於strcpy實作 在 char * 參數與返迴型別的應用與函式strcpy 介紹- C 與C++ 的字 ... 的評價
strcpy實作 在 [問題]實作strcpy產生bus error的問題 - PTT 熱門文章Hito 的推薦與評價
... 的正確結果(Expected Output): 正確strcpy 錯誤結果(Wrong Output): ... 出現bus error,真的是搞不懂, 因為我有實作另一個strlen,就是用b的 ... ... <看更多>
strcpy實作 在 [問題] strcmp的輸出怪怪的- 看板C_and_CPP | PTT數位生活區 的推薦與評價
餵入的資料(Input): struct {char str1[10], str2[10];} s; strcpy(s.str1, "yahoo"); strcpy(s.str2, "google"); strcat(s.str1, strcat(s.str2, ... p如何實作的. ... <看更多>
strcpy實作 在 [分享] ptt C 語言新手十誡 的推薦與評價
但不能取代完整的學習,請自己好好研讀一兩本C 語言的好書,並多多實作練習。 ... int buflen, char const *name) { char const s[] = "hello, "; strcpy(buf, ... ... <看更多>
strcpy實作 在 i2p-nthu/8-calculator_tree.pdf.md at master - GitHub 的推薦與評價
我們的目標是藉由實作來了解基本的詞法分析、語法分析概念,以及粗淺的編譯器設計原理。 ... else if (match(ID)) { retval = getval(); strcpy(tmpstr, getLexeme()); ... ... <看更多>
strcpy實作 在 Re: [討論] 如果想實作C的function或API,該怎麼了렠… 的推薦與評價
如果是fopen,fclose,malloc這類的API : 該如何自己實作? 實作不就只是依API的contract, 處理input與產生output? 跟寫一般function 並沒有太大的不同. 像strcpy/memcpy ... ... <看更多>
strcpy實作 在 Re: [問題] 字串分開實作- 看板C_and_CPP 的推薦與評價
感謝各位的回答。
我後來還是用了strtok來做。
大概把我想要的樣子都弄出來了。
感想:1. 程式語言很多東西不自己實際演練過還真的不會了解。
2. pointer真的是很好玩的東西,有它在我就不會想去玩Java了。
程式碼更新在此:
https://gist.github.com/gnitnaw/11ad7e7a98e4ebc8601f
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 256
#define NITEM 15
int getData(char* line, char** t);
void outputResult(FILE *fout, char** title, char** t, int N);
int main(void) {
char s;
int i, j, N;
char **t = (char**)malloc(sizeof(char*)*NITEM);
char **title = (char**)malloc(sizeof(char*)*NITEM);
char* line = (char*)malloc(sizeof(char)*SIZE);
FILE *fp = fopen("Example_table.txt", "r");
FILE *fout = fopen("output.txt", "a");
if (!fp) {
perror("Error! Cannot find the file");
exit(1);
}
if (!fout) {
perror("Error! Cannot create the file");
exit(2);
}
fgets(line,SIZE,fp);
N = getData(line,t);
for (i=0; i<N; ++i) {
title[i] = malloc(sizeof(t[i]));
strcpy(title[i], t[i]);
}
while(!feof(fp)) {
fgets(line,SIZE,fp);
j = getData(line, t);
if (j<=1) continue;
outputResult(stdout,title,t,j);
outputResult(fout,title,t,j);
}
free(line);
free(title);
fclose(fp);
fclose(fout);
free(t);
return 0;
}
int getData(char* line, char** t) {
int item=0;
char *c = strtok(line,"\n");
c = strtok(line,"\t");
t[item++] = c;
while (c != NULL && item < NITEM) {
c = strtok(NULL,"\t");
if (c!= NULL) t[item++] = c;
}
return item;
}
void outputResult(FILE *fout, char** title, char** t, int N) {
int i, a;
char *b;
for (i=0; i<N;++i) {
fprintf(fout, "%s : %s ", title[i], t[i]);
if (i!=N-1) fprintf(fout, ", ");
}
fputc('\n',fout);
free(b);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.41.134.196
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1434133027.A.1D1.html
... <看更多>