簡體   English   中英

如何使用 strtok 將每一行用作一個元素?

[英]how can I use strtok to use each line as an element?

我有一個 .txt/.csv 文件,其中存儲名稱及其密碼,如下所示:-

谷歌, ,9*+=<=2=

谷歌,;5290=+:

每條工業線都是一個獨立的實體。 我試圖制作一個以獨立實體為元素的數組。 我試圖使用帶有 \n 作為分隔符的 strtok。 但這給我帶來了以下錯誤。

test.c:11:21:錯誤:初始化程序無效

char line[100]= strtok(buffer,"\n") ;

 ^~~~~~

我哪里錯了? 這是特定代碼的完整塊:-

FILE* fp;
    fp=fopen("storeroom.csv","r");
    char buffer[100];
    rewind(fp);
    fread(buffer, sizeof(buffer), 1, fp);
    fclose(fp);
    char line[100]= strtok(buffer,"\n") ;
    printf("%s",line);

您可以使用花括號列表初始化數組。 所以這個聲明

char line[100]= strtok(buffer,"\n") ;

是不正確的。 此外,數組的元素類型是char而初始化表達式的類型是char *

你可以寫例如

char *line = strtok(buffer,"\n") ;
puts( line );

這是一個演示程序。

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

int main( void )
{
    char s[] = "Hello\nWOrld!";
    char *p = strtok( s, "\n" );

    puts( p );
}

程序輸出為

Hello

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM