c語言寫入csv
① c語言中,把數據存儲成txt或csv格式怎麼才能正常顯示
1,
不知道你的代碼錯在哪,下面是我寫的運行正確的,自己對照看看
2,
保存到csv格式,他不認製表符\t,
3,
保存到xls格式就比較好
4,
運行後到D盤根目錄下去找氏簡文件睜滑tmp.txt和你好.xls
#include<stdlib.h>
#include<stdio.h>
void main()
{
int i;
char Name[5][8] = {"AAA","BBB","CCC","DDD","EEE"};
char Sex[5][8] = {"男","女","女","男","女"};
char Age[5][8] = {"27","23","28","27","26"};
FILE *fp;
fp=fopen("d:\\你好.xls","w");
fprintf(fp,"\n\t姓名\t性別\t年齡\n");
for(i=0;i<5;i++)
fprintf(fp,"\t%s\t%s\t%s\n",Name[i],Sex[i],Age[i]);
fclose(fp);
if((fp=fopen("d:\\tmp.txt","wt+"))==NULL)
{
printf("cannot open the file\n");
exit(0);
}
for (i=0;i<1000;i++)
{
fprintf(fp,"hello");
putc('\n',fp);
fprintf(fp,"殲早褲周一 周二 周三 周六\n");
}
fclose(fp);
}
② c語言 如何將csv導入資料庫
csv數據要導入資料庫,需要用到資料庫的一些導入命令,比如或者其他,c語言程序裡面調用這個命令就可以了;
③ 如何用c語言讀取cvs文件到二維數組里
1、使用雙層循環語句,就可以依次把數據順序讀入到一個二維數組當中了。
2、常式:
代碼如下:
#include <stdio.h>
#include <string.h>冊轎
char *trim(char *str)
{
char *p = str;
while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')
p ++;
str = p;
p = str + strlen(str) - 1;
while (*p == ' ' || *p == '\t' || *p == '\李姿液r' || *p == '\n')
-- p;
*(p + 1) = '\0';
return str;
}
int main()
{
FILE *fp = fopen("test.csv", "哪物r");
if(fp == NULL) {
return -1;
}
char line[1024];
while(fgets(line, sizeof(line), fp)) {
//printf("%s", line);
char *save_ptr;
char *name = strtok_r(line, ",", &save_ptr);
if (name == NULL) {
return -1;
}
char *age = strtok_r(NULL, ",", &save_ptr);
char *birthday = strtok_r(NULL, ",", &save_ptr);
printf("%s\t%s\t%s\n", trim(name), trim(age), trim(birthday));
}
return 0;
}
④ 用C寫.CSV文件怎麼寫,急。。
#include"stdio.h"
#include"string.h"
#include<stdlib.h>
#include<conio.h>
struct Data{
char name[3];
char place[7];
char degree[7];
};
void main()
{
FILE *fr;
int i;
struct Data m;
int count = 0;
struct Data man[3] = { {"01","200801","改行2323.5"舉改},{"02","200802","2656.9"},{"03","200803","5652.4"}
};
if((fr = fopen("test.csv","wt+")) == NULL)
{
printf("wrong");
exit(0);
}
for (i = 0; i < 3; ++i)
{
fprintf(fr,"%s,%s,%s\n",man[i].name,man[i].place,man[i].degree);////這樣輸出,用逗號核答嘩隔開的
}
rewind(fr);
do
{
++count;
fgets(m.name,3,fr);
fseek(fr,1L,1);
fgets(m.place,7,fr);
fseek(fr,1L,1);
fgets(m.degree,7,fr);
printf("%s\t%s\t%s\n",m.name,m.place,m.degree);
fseek(fr,2L,1);
}while(count < 3);
fclose(fr);
getch();
}
⑤ 用C語言寫CSV文件,如何寫出多個工作表
1、CSV 文件 不支持 EXCEL中 的多個工作表的模式。 一個 CVS 文件只能轉換成 EXCEL 一個工作表。山行
2、逗號分隔值逗早嘩(Comma-Separated Values,CSV,有時也稱睜羨為字元分隔值,因為分隔字元也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字元序列,不含必須像二進制數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由欄位組成,欄位間的分隔符是其它字元或字元串,最常見的是逗號或製表符。通常,所有記錄都有完全相同的欄位序列。
⑥ C語言 鏈表問題 為什麼讀取csv之後 寫不到鏈表裡面, 只能把最後一個數據寫進去。
creat函數敏肢的第二個參數有問題,因為函數參數是傳值的,每次調用對last的改變並不能改變實參tail的值。
因為tail為全局變數,可以不要第二個參數,改為(老攜當然,原型和調用語句都要改一侍拿伏下):
int creat(struct data * datain) //, struct data *last
{
if (datain == NULL)
{
return 2;
}
tail->next = datain;
tail = datain;
tail->next = NULL;
return 0;
}
⑦ C語言如何操作excel文件
如果數據簡單的話,可以使用CSV(逗號分隔值)格式的文件。CSV格式的文件可以用Office Excel 打開。比如有要保存的一張表格是這樣的:
----------------表格開始-------------------
編號 姓名 性別
1 A 男
2 B 女
3 C 男
---------------表格結束--------------------
那麼在保存CSV文件裡面數據格式是這樣的:
----------------內容開始----------------
編號拆升,姓名,性別
1, A, 男
2, B, 女
3, C, 男
----------------內容結束----------------
用Excel打開是這樣的:
下面是示旅慧老常式序:
#include <stdio.h>
struct Student
{
int id;
char name[10];
char gender[3];
};
int main(int argc, char *argv[])
{
// 在程序所在目錄下面,可以看見一個名為 student.csv 的文件
FILE * file=fopen("student.csv","w");
struct Student studens[]=
{
{1,"A","男"},
{2,"B","女"},
{3,"C","男"},
};
int studensAmount=sizeof(studens)/sizeof(struct Student);
int i;
if(file)
{
fprintf(file,"%s%,%s,%s\n",碧如"編號","姓名","性別");
for(i=0;i<studensAmount;i++)
{
fprintf(file,"%d%,%s,%s\n",studens[i].id,studens[i].name,studens[i].gender);
}
}
fclose(file);
return 0;}
⑧ C語言讀入.csv文件後,屏幕輸出是亂碼,寫入本地文件不全,且錯行,請問C語言高手怎麼回事
csv文件中數據是用逗號分隔的,你讀出後沒有正確處理這些逗號。
⑨ C++怎樣用CFile實現往csv文件中按一定格式寫入數據
CSV文件很難寫,都是純文本的,關鍵是位置不好查找與處理。實在要這樣就用CFile將整個文件按字元串列租讀出來,再查找到位置,插入需要填寫的數據及格式。在將更新後的字元串使用CFile的寫入,寫入到文件中。
如果是C++,可以變化一下,操檔圓兆作EXCEL,對EXCEL操作VC++就有很多方腔漏式了,可以直接指定某個單元格填寫數據及各式。最後將EXCEL文件另存為CSV格式就可以了。一樣可以打開的。對編程來說簡單多了。
⑩ C++中怎麼操作mysql寫入csv
導入操作
存在特殊字元情況的處理
Book1.csv
編號,名稱,說明1,測試數據1,"測試CSV文件中,有逗號"2,測試數據2,"測試棚旦CSV文件中有""雙引號"""3,測試數據3,"測試CSV文件中,有逗號和""雙引號"""4,測試數據4,普通數據
mysql> CREATE TABLE Test_Book1 (
-> id int,
-> name VARCHAR(10),
-> data VARCHAR(100)
-> );
Query OK, 0 rows affected (0.05 sec)
下面的 lines terminated by '\r\n'物和型 是 要求換行符號,為 windows的換行
下面的 ignore 1 lines是 忽略第一行的標題行。
mysql> LOAD DATA INFILE 'f:/Book1.csv'
-> INTO TABLE Test_Book1
-> FIELDS TERMINATED BY ','
-> OPTIONALLY ENCLOSED BY '"'
-> lines terminated by '\r\n'罩猜
-> ignore 1 lines
-> (id, name, data);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from test_book1;
+------+-----------+--------------------------------+
| id | name | data |
+------+-----------+--------------------------------+
| 1 | 測試數據1 | 測試CSV文件中,有逗號 |
| 2 | 測試數據2 | 測試CSV文件中有"雙引號" |
| 3 | 測試數據3 | 測試CSV文件中,有逗號和"雙引號" |
| 4 | 測試數據4 | 普通數據 |
+------+-----------+--------------------------------+
4 rows in set (0.00 sec)